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", "scheduleIds", "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 List<String> scheduleIds;
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         if (lui.getScheduleIds() != null) {
157             this.scheduleIds = new ArrayList<String> (lui.getScheduleIds());
158         }
159         this.luiCodes = new ArrayList<LuCodeInfo>();
160         if (lui.getLuiCodes() != null) {
161             for (LuCode code : lui.getLuiCodes()) {
162                 this.luiCodes.add(new LuCodeInfo(code));
163             }
164         }
165 
166         this.maximumEnrollment = lui.getMaximumEnrollment();
167         this.minimumEnrollment = lui.getMinimumEnrollment();
168         this.referenceURL = lui.getReferenceURL();
169         if (lui.getUnitsContentOwner() != null) {
170             this.unitsContentOwner = new ArrayList<String>(lui.getUnitsContentOwner());
171         }
172         this.unitsDeployment = new ArrayList<String>(lui.getUnitsDeployment());
173         this.resultValuesGroupKeys = new ArrayList<String>(lui.getResultValuesGroupKeys());
174         this.relatedLuiTypes = new ArrayList<String>(lui.getRelatedLuiTypes());
175     }
176 
177     @Override
178     public Date getEffectiveDate() {
179         return effectiveDate;
180     }
181 
182     public void setEffectiveDate(Date effectiveDate) {
183         this.effectiveDate = effectiveDate;
184     }
185 
186     @Override
187     public Date getExpirationDate() {
188         return expirationDate;
189     }
190 
191     public void setExpirationDate(Date expirationDate) {
192         this.expirationDate = expirationDate;
193     }
194 
195     @Override
196     public LuiIdentifierInfo getOfficialIdentifier() {
197         return officialIdentifier;
198     }
199 
200     public void setOfficialIdentifier(LuiIdentifierInfo officialIdentifier) {
201         this.officialIdentifier = officialIdentifier;
202     }
203 
204     @Override
205     public List<LuiIdentifierInfo> getAlternateIdentifiers() {
206         if (alternateIdentifiers == null) {
207             alternateIdentifiers = new ArrayList<LuiIdentifierInfo>();
208         }
209         return alternateIdentifiers;
210     }
211 
212     public void setAlternateIdentifiers(List< LuiIdentifierInfo> alternateIdentifiers) {
213         this.alternateIdentifiers = alternateIdentifiers;
214     }
215 
216     @Override
217     public String getCluId() {
218         return cluId;
219     }
220 
221     public void setCluId(String cluId) {
222         this.cluId = cluId;
223     }
224 
225     @Override
226     public List<String> getCluCluRelationIds() {
227         if (cluCluRelationIds == null) {
228             cluCluRelationIds = new ArrayList<String>();
229         }
230 
231         return cluCluRelationIds;
232     }
233 
234     public void setCluCluRelationIds(List<String> cluCluRelationIds) {
235         this.cluCluRelationIds = cluCluRelationIds;
236     }
237 
238     @Override
239     public String getAtpId() {
240         return atpId;
241     }
242 
243     public void setAtpId(String atpId) {
244         this.atpId = atpId;
245     }
246 
247     @Override
248     public List<String> getCampusLocations() {
249         if (campusLocations == null) {
250             campusLocations = new ArrayList<String>();
251         }
252 
253         return campusLocations;
254     }
255 
256     public void setCampusLocations(List<String> campusLocations) {
257         this.campusLocations = campusLocations;
258     }
259 
260     @Override
261     public List<String> getScheduleIds() {
262         if (this.scheduleIds == null) {
263             this.scheduleIds = new ArrayList<String>();
264         }
265         return this.scheduleIds;
266     }
267 
268     public void setScheduleIds(List<String> scheduleIds) {
269         this.scheduleIds = scheduleIds;
270     }
271 
272     @Override
273     public List<LuCodeInfo> getLuiCodes() {
274         if (luiCodes == null) {
275             luiCodes = new ArrayList<LuCodeInfo>();
276         }
277         return luiCodes;
278     }
279 
280     public void setLuiCodes(List<LuCodeInfo> luiCodes) {
281         this.luiCodes = luiCodes;
282     }
283 
284     @Override
285     public Integer getMaximumEnrollment() {
286         return maximumEnrollment;
287     }
288 
289     public void setMaximumEnrollment(Integer maximumEnrollment) {
290         this.maximumEnrollment = maximumEnrollment;
291     }
292 
293     @Override
294     public Integer getMinimumEnrollment() {
295         return minimumEnrollment;
296     }
297 
298     public void setMinimumEnrollment(Integer minimumEnrollment) {
299         this.minimumEnrollment = minimumEnrollment;
300     }
301 
302     @Override
303     public String getReferenceURL() {
304         return referenceURL;
305     }
306 
307     public void setReferenceURL(String referenceURL) {
308         this.referenceURL = referenceURL;
309     }
310 
311     @Override
312     public List<String> getUnitsDeployment() {
313         if (unitsDeployment == null) {
314             unitsDeployment = new ArrayList<String>();
315         }
316         return unitsDeployment;
317     }
318 
319     public void setUnitsDeployment(List<String> unitsDeployment) {
320         this.unitsDeployment = unitsDeployment;
321     }
322 
323     @Override
324     public List<String> getUnitsContentOwner() {
325         if (unitsContentOwner == null) {
326             unitsContentOwner = new ArrayList<String>();
327         }
328         return unitsContentOwner;
329     }
330 
331     public void setUnitsContentOwner(List<String> unitsContentOwner) {
332         this.unitsContentOwner = unitsContentOwner;
333     }
334 
335     @Override
336     public List<String> getResultValuesGroupKeys() {
337         if (resultValuesGroupKeys == null) {
338             resultValuesGroupKeys = new ArrayList<String>();
339         }
340         return resultValuesGroupKeys;
341     }
342 
343     public void setResultValuesGroupKeys(List<String> resultValueGroupKeys) {
344         this.resultValuesGroupKeys = resultValueGroupKeys;
345     }
346 
347     @Override
348     public List<String> getRelatedLuiTypes() {
349         if (relatedLuiTypes == null) {
350             relatedLuiTypes = new ArrayList<String>();
351         }
352         return relatedLuiTypes;
353     }
354 
355     public void setRelatedLuiTypes(List<String> relatedLuiTypes) {
356         this.relatedLuiTypes = relatedLuiTypes;
357     }
358 }