View Javadoc

1   /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   */
15  
16  package org.kuali.student.core.atp.dto;
17  
18  import java.io.Serializable;
19  import java.util.Date;
20  import java.util.HashMap;
21  import java.util.Map;
22  
23  import javax.xml.bind.annotation.XmlAccessType;
24  import javax.xml.bind.annotation.XmlAccessorType;
25  import javax.xml.bind.annotation.XmlAttribute;
26  import javax.xml.bind.annotation.XmlElement;
27  import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
28  
29  import org.kuali.student.common.dto.HasAttributes;
30  import org.kuali.student.common.dto.HasTypeState;
31  import org.kuali.student.common.dto.Idable;
32  import org.kuali.student.common.dto.MetaInfo;
33  import org.kuali.student.common.dto.RichTextInfo;
34  import org.kuali.student.core.ws.binding.JaxbAttributeMapListAdapter;
35  
36  /**
37   *Information about a milestone.
38   */ 
39  @XmlAccessorType(XmlAccessType.FIELD)
40  public class MilestoneInfo implements Serializable, Idable, HasTypeState, HasAttributes {
41  
42      private static final long serialVersionUID = 1L;
43  
44      @XmlElement
45      private String name;
46  
47      @XmlElement
48      private RichTextInfo desc;
49  
50      @XmlElement(name="atpKey")
51      private String atpId;
52  
53      @XmlElement
54      private Date milestoneDate;
55  
56      @XmlElement
57      @XmlJavaTypeAdapter(JaxbAttributeMapListAdapter.class)
58      private Map<String,String> attributes;
59  
60      @XmlElement
61      private MetaInfo metaInfo;
62  
63      @XmlAttribute
64      private String type;
65  
66      @XmlAttribute
67      private String state;
68  
69      @XmlAttribute(name="key")
70      private String id;
71  
72      /**
73       * Name of the milestone.
74       */
75      public String getName() {
76          return name;
77      }
78  
79      public void setName(String name) {
80          this.name = name;
81      }
82  
83      /**
84       * Description of the milestone.
85       */
86      public RichTextInfo getDesc() {
87          return desc;
88      }
89  
90      public void setDesc(RichTextInfo desc) {
91          this.desc = desc;
92      }
93  
94      /**
95       * Unique identifier for an Academic Time Period (ATP).
96       */
97      public String getAtpId() {
98          return atpId;
99      }
100 
101     public void setAtpId(String atpId) {
102         this.atpId = atpId;
103     }
104 
105     /**
106      * Date and time of the milestone.
107      */
108     public Date getMilestoneDate() {
109         return milestoneDate;
110     }
111 
112     public void setMilestoneDate(Date milestoneDate) {
113         this.milestoneDate = milestoneDate;
114     }
115 
116     /**
117      * List of key/value pairs, typically used for dynamic attributes.
118      */
119     public Map<String,String> getAttributes() {
120         if (attributes == null) {
121             attributes = new HashMap<String,String>();
122         }
123         return attributes;
124     }
125 
126     public void setAttributes(Map<String,String> attributes) {
127         this.attributes = attributes;
128     }
129 
130     /**
131      * Create and last update info for the structure. This is optional and treated as read only since the data is set by the internals of the service during maintenance operations.
132      */
133     public MetaInfo getMetaInfo() {
134         return metaInfo;
135     }
136 
137     public void setMetaInfo(MetaInfo metaInfo) {
138         this.metaInfo = metaInfo;
139     }
140 
141     /**
142      * Unique identifier for a milestone type.
143      */
144     public String getType() {
145         return type;
146     }
147 
148     public void setType(String type) {
149         this.type = type;
150     }
151 
152     /**
153      * The current status of the milestone. The values for this field are constrained to those in the milestoneState enumeration. A separate setup operation does not exist for retrieval of the meta data around this value.
154      */
155     public String getState() {
156         return state;
157     }
158 
159     public void setState(String state) {
160         this.state = state;
161     }
162 
163     /**
164      * Unique identifier for a milestone.
165      */
166     public String getId() {
167         return id;
168     }
169 
170     public void setId(String id) {
171         this.id = id;
172     }
173 }