View Javadoc

1   /**
2    * Copyright 2004-2013 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.student.contract.model.test.source;
17  
18  import java.io.Serializable;
19  import java.util.List;
20  
21  import javax.xml.bind.annotation.XmlAccessType;
22  import javax.xml.bind.annotation.XmlAccessorType;
23  import javax.xml.bind.annotation.XmlAnyElement;
24  import javax.xml.bind.annotation.XmlElement;
25  import javax.xml.bind.annotation.XmlType;
26  
27  import org.kuali.student.contract.model.test.source.ModelBuilder;
28  import org.kuali.student.contract.model.test.source.Status;
29  import org.w3c.dom.Element;
30  
31  /**
32   * Information about the state of an object
33   * 
34   * @author nwright
35   */
36  @XmlAccessorType(XmlAccessType.FIELD)
37  @XmlType(name = "StatusInfo", propOrder = {"success", "message", "_futureElements"})
38  public class StatusInfo implements Status, Serializable {
39  	private static final long serialVersionUID = 1L;
40  	
41  	@XmlElement
42  	private final Boolean success;
43  	
44  	@XmlElement
45  	private final String message;
46  	
47      @XmlAnyElement
48      private final List<Element> _futureElements;	
49  	
50  	private StatusInfo() {
51  		success = true;
52  		message = "";
53  		_futureElements = null;
54  	}
55  	
56  	private StatusInfo(Status builder) {
57  		this.success = new Boolean(builder.isSuccess().booleanValue());
58  		this.message = builder.getMessage();
59  		this._futureElements = null;
60  	}
61  
62      @Override
63  	public Boolean isSuccess(){
64  		return success;
65  	}
66  
67      @Override
68  	public String getMessage() {
69  		return message;
70  	}
71  	
72  	public static class Builder implements ModelBuilder<StatusInfo>, Status {
73  		private Boolean success;
74  		private String message;
75  
76  		public Builder() {}
77  		
78  		public Builder(Status status) {
79  			this.success = status.isSuccess();
80  			this.message = status.getMessage();
81  		}
82  
83  		public StatusInfo build() {
84  			return new StatusInfo(this);
85  		}
86  
87  		@Override
88  		public Boolean isSuccess() {
89  			return success;
90  		}
91  
92  		@Override
93  		public String getMessage() {
94  			return message;
95  		}
96  
97          public Boolean getSuccess() {
98              return success;
99          }
100 
101         public void setSuccess(Boolean success) {
102             this.success = success;
103         }
104 
105         public void setMessage(String message) {
106             this.message = message;
107         }	
108 	}
109 }