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.lum.lu.dto;
17  
18  import org.kuali.student.core.dto.HasAttributes;
19  import org.kuali.student.core.dto.Idable;
20  import org.kuali.student.core.dto.MetaInfo;
21  import org.kuali.student.core.dto.RichTextInfo;
22  import org.kuali.student.core.ws.binding.JaxbAttributeMapListAdapter;
23  
24  import javax.xml.bind.annotation.XmlAccessType;
25  import javax.xml.bind.annotation.XmlAccessorType;
26  import javax.xml.bind.annotation.XmlAttribute;
27  import javax.xml.bind.annotation.XmlElement;
28  import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
29  import java.io.Serializable;
30  import java.util.Date;
31  import java.util.HashMap;
32  import java.util.List;
33  import java.util.Map;
34  
35  /**
36   * Detailed information about a single CLU Set.
37   */
38  @XmlAccessorType(XmlAccessType.FIELD)
39  public class CluSetTreeViewInfo implements Serializable, Idable, HasAttributes {
40  
41      private static final long serialVersionUID = 1L;
42  
43      @XmlElement
44      private String name;
45  
46      @XmlElement
47      private RichTextInfo descr;
48  
49      @XmlElement
50      private Date effectiveDate;
51  
52      @XmlElement
53      private Date expirationDate;
54  
55      @XmlElement
56      private String adminOrg;
57  
58      @XmlElement
59      private Boolean isReusable;
60  
61      @XmlElement
62      private Boolean isReferenceable;
63  
64      @XmlElement
65      private List<CluSetTreeViewInfo> cluSets;
66  
67      @XmlElement
68      private List<CluInfo> clus;
69  
70      @XmlElement
71      @XmlJavaTypeAdapter(JaxbAttributeMapListAdapter.class)
72      private Map<String, String> attributes;
73  
74      @XmlElement
75      private MetaInfo metaInfo;
76  
77      @XmlAttribute
78      private String type;
79  
80      @XmlAttribute
81      private String state;
82  
83      @XmlAttribute
84      private String id;
85  
86      /**
87       * Friendly name of the CLU Set.
88       */
89      public String getName() {
90          return name;
91      }
92  
93      public void setName(String name) {
94          this.name = name;
95      }
96  
97      /**
98       * Narrative description of the CLU Set.
99       */
100     public RichTextInfo getDescr() {
101         return descr;
102     }
103 
104     public void setDescr(RichTextInfo descr) {
105         this.descr = descr;
106     }
107 
108     /**
109      * Date and time that this CLU Set became effective. This is a similar concept to the effective date on enumerated values. When an expiration date has been specified, this field must be less than or equal to the expiration date.
110      */
111     public Date getEffectiveDate() {
112         return effectiveDate;
113     }
114 
115     public void setEffectiveDate(Date effectiveDate) {
116         this.effectiveDate = effectiveDate;
117     }
118 
119     /**
120      * Date and time that this CLU Set expires. This is a similar concept to the expiration date on enumerated values. If specified, this should be greater than or equal to the effective date. If this field is not specified, then no expiration date has been currently defined and should automatically be considered greater than the effective date.
121      */
122     public Date getExpirationDate() {
123         return expirationDate;
124     }
125 
126     public void setExpirationDate(Date expirationDate) {
127         this.expirationDate = expirationDate;
128     }
129 
130 //    /**
131 //     * Specifies a search for CLU identifiers. Present for dynamic CLU Sets
132 //     */
133 //    public CluCriteriaInfo getCluCriteria() {
134 //        return cluCriteria;
135 //    }
136 //
137 //    public void setCluCriteria(CluCriteriaInfo cluCriteria) {
138 //        this.cluCriteria = cluCriteria;
139 //    }
140 
141 
142     /**
143      * List of key/value pairs, typically used for dynamic attributes.
144      */
145     public Map<String, String> getAttributes() {
146         if (attributes == null) {
147             attributes = new HashMap<String, String>();
148         }
149         return attributes;
150     }
151 
152     public void setAttributes(Map<String, String> attributes) {
153         this.attributes = attributes;
154     }
155 
156     /**
157      * 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.
158      */
159     public MetaInfo getMetaInfo() {
160         return metaInfo;
161     }
162 
163     public void setMetaInfo(MetaInfo metaInfo) {
164         this.metaInfo = metaInfo;
165     }
166 
167     /**
168      * Unique identifier for a CLU Set. This is optional, due to the identifier being set at the time of creation. Once the CLU Set has been created, this should be seen as required.
169      */
170     public String getId() {
171         return id;
172     }
173 
174     public void setId(String id) {
175         this.id = id;
176     }
177 
178     /**
179      * Gets the clu set type.
180      * Once set at create time, this field may not be updated.
181      *
182      * @return Clu set type
183      */
184     public String getType() {
185         return type;
186     }
187 
188     /**
189      * Sets the clu set type.
190      * Once set at create time, this field may not be updated.
191      *
192      * @param type Clu set type
193      */
194     public void setType(String type) {
195         this.type = type;
196     }
197 
198     public String getState() {
199         return state;
200     }
201 
202     public void setState(String state) {
203         this.state = state;
204     }
205 
206     public String getAdminOrg() {
207         return adminOrg;
208     }
209 
210     public void setAdminOrg(String adminOrg) {
211         this.adminOrg = adminOrg;
212     }
213 
214     public Boolean getIsReusable() {
215         return isReusable;
216     }
217 
218     public void setIsReusable(Boolean isReusable) {
219         this.isReusable = isReusable;
220     }
221 
222     public Boolean getIsReferenceable() {
223         return isReferenceable;
224     }
225 
226     public void setIsReferenceable(Boolean isReferenceable) {
227         this.isReferenceable = isReferenceable;
228     }
229 
230     public List<CluSetTreeViewInfo> getCluSets() {
231         return cluSets;
232     }
233 
234     public void setCluSets(List<CluSetTreeViewInfo> cluSets) {
235         this.cluSets = cluSets;
236     }
237 
238     public List<CluInfo> getClus() {
239         return clus;
240     }
241 
242     public void setClus(List<CluInfo> clus) {
243         this.clus = clus;
244     }
245 }