View Javadoc

1   /*
2    * Copyright 2010 The Kuali Foundation 
3    *
4    * Licensed under the the Educational Community License, Version 1.0
5    * (the "License"); you may not use this file except in compliance
6    * with the License.  You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl1.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
13   * implied.  See the License for the specific language governing
14   * permissions and limitations under the License.
15   */
16  
17  package org.kuali.student.enrollment.lui.dto;
18  
19  import java.io.Serializable;
20  import java.util.ArrayList;
21  import java.util.Date;
22  import java.util.List;
23  
24  import javax.xml.bind.annotation.XmlAccessType;
25  import javax.xml.bind.annotation.XmlAccessorType;
26  import javax.xml.bind.annotation.XmlAnyElement;
27  import javax.xml.bind.annotation.XmlElement;
28  import javax.xml.bind.annotation.XmlType;
29  
30  import org.kuali.student.enrollment.lui.infc.Lui;
31  import org.kuali.student.enrollment.lui.infc.LuiIdentifier;
32  import org.kuali.student.r2.common.dto.IdEntityInfo;
33  import org.kuali.student.r2.common.dto.MeetingScheduleInfo;
34  import org.kuali.student.r2.common.infc.MeetingSchedule;
35  import org.kuali.student.r2.lum.clu.dto.ExpenditureInfo;
36  import org.kuali.student.r2.lum.clu.dto.FeeInfo;
37  import org.kuali.student.r2.lum.clu.dto.LuCodeInfo;
38  import org.kuali.student.r2.lum.clu.dto.RevenueInfo;
39  import org.kuali.student.r2.lum.clu.infc.Fee;
40  import org.kuali.student.r2.lum.clu.infc.LuCode;
41  import org.kuali.student.r2.lum.clu.infc.Revenue;
42  import org.w3c.dom.Element;
43  
44  @XmlAccessorType(XmlAccessType.FIELD)
45  @XmlType(name = "LuiInfo", propOrder = {"id", "typeKey", "stateKey", "name",
46      "descr", "effectiveDate", "expirationDate",
47      "officialIdentifier", "alternateIdentifiers", "cluId",
48      "cluCluRelationIds", "atpId", "campusLocations", "scheduleId", "luiCodes", 
49      "maximumEnrollment", "minimumEnrollment", "referenceURL",
50      "unitsContentOwner", "unitsDeployment", "resultValuesGroupKeys",
51      "relatedLuiTypes",
52      "meta", "attributes", "_futureElements"})
53  
54  public class LuiInfo 
55      extends IdEntityInfo 
56      implements Serializable, Lui {
57  
58      private static final long serialVersionUID = 1L;
59  
60      @XmlElement
61      private Date effectiveDate;
62  
63      @XmlElement
64      private Date expirationDate;
65  
66      @XmlElement
67      private LuiIdentifierInfo officialIdentifier;
68  
69      @XmlElement
70      private List<LuiIdentifierInfo> alternateIdentifiers;
71  
72      @XmlElement
73      private String cluId;
74  
75      @XmlElement
76      private List<String> cluCluRelationIds;
77  
78      @XmlElement
79      private String atpId;
80  
81      @XmlElement
82      private List<String> campusLocations;
83  
84      @XmlElement
85      private String scheduleId;
86  
87      @XmlElement
88      private List<LuCodeInfo> luiCodes;
89  
90      @XmlElement
91      private Integer maximumEnrollment;
92  
93      @XmlElement
94      private Integer minimumEnrollment;
95  
96      @XmlElement
97      private String referenceURL;
98  
99      @XmlElement
100     private List<String> unitsContentOwner;
101 
102     @XmlElement
103     private List<String> unitsDeployment;
104 
105     @XmlElement
106     private List<String> resultValuesGroupKeys;
107 
108     @XmlElement
109     private List<String> relatedLuiTypes;
110 
111     @XmlAnyElement
112     private List<Element> _futureElements;
113 
114 
115     /**
116      *  Constructs a new LuiInfo.
117      */
118     public LuiInfo() {
119     }
120 
121     
122     /**
123      *  Constructs a new LuiInfo from another Lui.
124      *
125      *  @param lui the LUI to copy
126      */
127     public LuiInfo(Lui lui) {
128         super(lui);
129 
130         if (null == lui) {
131             return;
132         }
133 
134         this.effectiveDate = null != lui.getEffectiveDate() ? new Date(lui.getEffectiveDate().getTime()) : null;
135         this.expirationDate = null != lui.getExpirationDate() ? new Date(lui.getExpirationDate().getTime()) : null;
136 
137         if (lui.getOfficialIdentifier() != null) {
138             this.officialIdentifier = new LuiIdentifierInfo(lui.getOfficialIdentifier());
139         }
140 
141         this.alternateIdentifiers = new ArrayList<LuiIdentifierInfo>();
142         if (lui.getAlternateIdentifiers() != null) {
143             for (LuiIdentifier li : lui.getAlternateIdentifiers()) {
144                 this.alternateIdentifiers.add(new LuiIdentifierInfo(li));
145             }
146         }
147 
148         this.cluId = lui.getCluId();
149         this.cluCluRelationIds = (null != lui.getCluCluRelationIds() ? new ArrayList<String>(lui.getCluCluRelationIds()) : new ArrayList<String>());
150         this.atpId = lui.getAtpId();
151         
152         if (lui.getCampusLocations() != null) {
153             this.campusLocations = new ArrayList(lui.getCampusLocations());
154         }
155 
156         this.scheduleId = lui.getScheduleId();
157         this.luiCodes = new ArrayList<LuCodeInfo>();
158         if (lui.getLuiCodes() != null) {
159             for (LuCode code : lui.getLuiCodes()) {
160                 this.luiCodes.add(new LuCodeInfo(code));
161             }
162         }
163 
164         this.maximumEnrollment = lui.getMaximumEnrollment();
165         this.minimumEnrollment = lui.getMinimumEnrollment();
166         this.referenceURL = lui.getReferenceURL();
167         if (lui.getUnitsContentOwner() != null) {
168             this.unitsContentOwner = new ArrayList<String>(lui.getUnitsContentOwner());
169         }
170         this.unitsDeployment = new ArrayList<String>(lui.getUnitsDeployment());
171         this.resultValuesGroupKeys = new ArrayList<String>(lui.getResultValuesGroupKeys());
172         this.relatedLuiTypes = new ArrayList<String>(lui.getRelatedLuiTypes());
173     }
174 
175     @Override
176     public Date getEffectiveDate() {
177         return effectiveDate;
178     }
179 
180     public void setEffectiveDate(Date effectiveDate) {
181         this.effectiveDate = effectiveDate;
182     }
183 
184     @Override
185     public Date getExpirationDate() {
186         return expirationDate;
187     }
188 
189     public void setExpirationDate(Date expirationDate) {
190         this.expirationDate = expirationDate;
191     }
192 
193     @Override
194     public LuiIdentifierInfo getOfficialIdentifier() {
195         return officialIdentifier;
196     }
197 
198     public void setOfficialIdentifier(LuiIdentifierInfo officialIdentifier) {
199         this.officialIdentifier = officialIdentifier;
200     }
201 
202     @Override
203     public List<LuiIdentifierInfo> getAlternateIdentifiers() {
204         if (alternateIdentifiers == null) {
205             alternateIdentifiers = new ArrayList<LuiIdentifierInfo>();
206         }
207         return alternateIdentifiers;
208     }
209 
210     public void setAlternateIdentifiers(List< LuiIdentifierInfo> alternateIdentifiers) {
211         this.alternateIdentifiers = alternateIdentifiers;
212     }
213 
214     @Override
215     public String getCluId() {
216         return cluId;
217     }
218 
219     public void setCluId(String cluId) {
220         this.cluId = cluId;
221     }
222 
223     @Override
224     public List<String> getCluCluRelationIds() {
225         if (cluCluRelationIds == null) {
226             cluCluRelationIds = new ArrayList<String>();
227         }
228 
229         return cluCluRelationIds;
230     }
231 
232     public void setCluCluRelationIds(List<String> cluCluRelationIds) {
233         this.cluCluRelationIds = cluCluRelationIds;
234     }
235 
236     @Override
237     public String getAtpId() {
238         return atpId;
239     }
240 
241     public void setAtpId(String atpId) {
242         this.atpId = atpId;
243     }
244 
245     @Override
246     public List<String> getCampusLocations() {
247         if (campusLocations == null) {
248             campusLocations = new ArrayList<String>();
249         }
250 
251         return campusLocations;
252     }
253 
254     public void setCampusLocations(List<String> campusLocations) {
255         this.campusLocations = campusLocations;
256     }
257 
258     @Override
259     public String getScheduleId() {
260         return scheduleId;
261     }
262 
263     public void setScheduleId(String scheduleId) {
264         this.scheduleId = scheduleId;
265     }
266 
267     @Override
268     public List<LuCodeInfo> getLuiCodes() {
269         if (luiCodes == null) {
270             luiCodes = new ArrayList<LuCodeInfo>();
271         }
272         return luiCodes;
273     }
274 
275     public void setLuiCodes(List<LuCodeInfo> luiCodes) {
276         this.luiCodes = luiCodes;
277     }
278 
279     @Override
280     public Integer getMaximumEnrollment() {
281         return maximumEnrollment;
282     }
283 
284     public void setMaximumEnrollment(Integer maximumEnrollment) {
285         this.maximumEnrollment = maximumEnrollment;
286     }
287 
288     @Override
289     public Integer getMinimumEnrollment() {
290         return minimumEnrollment;
291     }
292 
293     public void setMinimumEnrollment(Integer minimumEnrollment) {
294         this.minimumEnrollment = minimumEnrollment;
295     }
296 
297     @Override
298     public String getReferenceURL() {
299         return referenceURL;
300     }
301 
302     public void setReferenceURL(String referenceURL) {
303         this.referenceURL = referenceURL;
304     }
305 
306     @Override
307     public List<String> getUnitsDeployment() {
308         if (unitsDeployment == null) {
309             unitsDeployment = new ArrayList<String>();
310         }
311         return unitsDeployment;
312     }
313 
314     public void setUnitsDeployment(List<String> unitsDeployment) {
315         this.unitsDeployment = unitsDeployment;
316     }
317 
318     @Override
319     public List<String> getUnitsContentOwner() {
320         if (unitsContentOwner == null) {
321             unitsContentOwner = new ArrayList<String>();
322         }
323         return unitsContentOwner;
324     }
325 
326     public void setUnitsContentOwner(List<String> unitsContentOwner) {
327         this.unitsContentOwner = unitsContentOwner;
328     }
329 
330     @Override
331     public List<String> getResultValuesGroupKeys() {
332         if (resultValuesGroupKeys == null) {
333             resultValuesGroupKeys = new ArrayList<String>();
334         }
335         return resultValuesGroupKeys;
336     }
337 
338     public void setResultValuesGroupKeys(List<String> resultValueGroupKeys) {
339         this.resultValuesGroupKeys = resultValueGroupKeys;
340     }
341 
342     @Override
343     public List<String> getRelatedLuiTypes() {
344         if (relatedLuiTypes == null) {
345             relatedLuiTypes = new ArrayList<String>();
346         }
347         return relatedLuiTypes;
348     }
349 
350     public void setRelatedLuiTypes(List<String> relatedLuiTypes) {
351         this.relatedLuiTypes = relatedLuiTypes;
352     }
353 }