View Javadoc

1   /*
2    * Copyright 2009 The Kuali Foundation Licensed under the Educational Community
3    * License, Version 1.0 (the "License"); you may not use this file except in
4    * compliance with the License. You may obtain a copy of the License at
5    * http://www.opensource.org/licenses/ecl1.php Unless required by applicable law
6    * or agreed to in writing, software distributed under the License is
7    * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8    * KIND, either express or implied. See the License for the specific language
9    * governing permissions and limitations under the License.
10   */
11  package org.kuali.student.r2.lum.program.dto;
12  
13  import java.io.Serializable;
14  import java.util.ArrayList;
15  import java.util.List;
16  
17  import javax.xml.bind.annotation.XmlAccessType;
18  import javax.xml.bind.annotation.XmlAccessorType;
19  import javax.xml.bind.annotation.XmlAnyElement;
20  import javax.xml.bind.annotation.XmlElement;
21  import javax.xml.bind.annotation.XmlType;
22  
23  import org.kuali.student.r2.lum.clu.dto.AccreditationInfo;
24  import org.kuali.student.r2.lum.clu.dto.CluInstructorInfo;
25  import org.kuali.student.r2.lum.clu.infc.Accreditation;
26  import org.kuali.student.r2.lum.clu.infc.CluInstructor;
27  import org.kuali.student.r2.lum.program.dto.assembly.ProgramAtpAssembly;
28  import org.kuali.student.r2.lum.program.dto.assembly.ProgramCodeAssembly;
29  import org.kuali.student.r2.lum.program.dto.assembly.ProgramCommonAssembly;
30  import org.kuali.student.r2.lum.program.dto.assembly.ProgramCredentialAssembly;
31  import org.kuali.student.r2.lum.program.dto.assembly.ProgramFullOrgAssembly;
32  import org.kuali.student.r2.lum.program.dto.assembly.ProgramIdentifierAssembly;
33  import org.kuali.student.r2.lum.program.dto.assembly.ProgramPublicationAssembly;
34  import org.kuali.student.r2.lum.program.dto.assembly.ProgramRequirementAssembly;
35  import org.kuali.student.r2.lum.program.infc.MajorDiscipline;
36  import org.kuali.student.r2.lum.program.infc.ProgramVariation;
37  
38  @XmlType(name = "MajorDisciplineInfo", propOrder = {"id",
39      "typeKey",
40      "stateKey",
41      "version",
42      "descr",
43      "code",
44      "shortTitle",
45      "longTitle",
46      "transcriptTitle",
47      "universityClassification",
48      "startTerm",
49      "endTerm",
50      "endProgramEntryTerm",
51      "divisionsContentOwner",
52      "divisionsStudentOversight",
53      "unitsContentOwner",
54      "unitsStudentOversight",
55      "learningObjectives",
56      "programRequirements",
57      "referenceURL",
58      "catalogDescr",
59      "catalogPublicationTargets",
60      "intensity",
61      "cip2000Code",
62      "cip2010Code",
63      "hegisCode",
64      "selectiveEnrollmentCode",
65      "effectiveDate",
66      "diplomaTitle",
67      "campusLocations",
68      "resultOptions",
69      "stdDuration",
70      "divisionsDeployment",
71      "divisionsFinancialResources",
72      "divisionsFinancialControl",
73      "unitsDeployment",
74      "unitsFinancialResources",
75      "unitsFinancialControl",
76      "nextReviewPeriod",
77      "publishedInstructors",
78      "credentialProgramId",
79      "accreditingAgencies",
80      "variations",
81      "orgCoreProgram",
82      "attributes",
83      "meta" , "_futureElements" }) 
84      
85  @XmlAccessorType(XmlAccessType.FIELD)
86  public class MajorDisciplineInfo extends CommonWithProgramVariationInfo implements MajorDiscipline,
87          ProgramCommonAssembly,
88          ProgramIdentifierAssembly,
89          ProgramFullOrgAssembly,
90          ProgramAtpAssembly,
91          ProgramCodeAssembly,
92          ProgramPublicationAssembly,
93          ProgramCredentialAssembly,
94          ProgramRequirementAssembly,
95          Serializable {
96  
97      private static final long serialVersionUID = 1L;
98      @XmlElement
99      private String nextReviewPeriod;
100     @XmlElement
101     private List<CluInstructorInfo> publishedInstructors;
102     @XmlElement
103     private String credentialProgramId;
104     @XmlElement
105     private List<AccreditationInfo> accreditingAgencies;
106     @XmlElement
107     private List<ProgramVariationInfo> variations;
108     @XmlElement
109     private CoreProgramInfo orgCoreProgram;
110     @XmlAnyElement
111     private List<Object> _futureElements;  
112 
113     public MajorDisciplineInfo() {
114     }
115 
116     public MajorDisciplineInfo(MajorDiscipline input) {
117         super(input);
118 
119         if (input.getPublishedInstructors() != null) {
120             this.publishedInstructors = new ArrayList<CluInstructorInfo>(input.getPublishedInstructors().size());
121             for (CluInstructor cluInst : input.getPublishedInstructors()) {
122                 this.publishedInstructors.add(new CluInstructorInfo(cluInst));
123             }
124         }
125         this.credentialProgramId = input.getCredentialProgramId();
126 
127         this.nextReviewPeriod = input.getNextReviewPeriod();
128         if (input.getAccreditingAgencies() != null) {
129             this.accreditingAgencies = new ArrayList<AccreditationInfo>();
130             for (Accreditation aa : input.getAccreditingAgencies()) {
131                 this.accreditingAgencies.add(new AccreditationInfo(aa));
132             }
133         }
134         if (input.getVariations() != null) {
135             this.variations = new ArrayList<ProgramVariationInfo>(input.getVariations().size());
136             for (ProgramVariation pv : input.getVariations()) {
137                 ProgramVariationInfo info = new ProgramVariationInfo(pv);
138                 this.variations.add(info);
139             }
140         }
141         if (input.getOrgCoreProgram() != null) {
142             this.orgCoreProgram = new CoreProgramInfo(input.getOrgCoreProgram());
143         }
144     }
145 
146     @Override
147     public List<CluInstructorInfo> getPublishedInstructors() {
148         if (publishedInstructors == null) {
149             publishedInstructors = new ArrayList<CluInstructorInfo>(0);
150         }
151         return publishedInstructors;
152     }
153 
154     public void setPublishedInstructors(List<CluInstructorInfo> publishedInstructors) {
155         this.publishedInstructors = publishedInstructors;
156     }
157 
158     @Override
159     public String getCredentialProgramId() {
160         return credentialProgramId;
161     }
162 
163     public void setCredentialProgramId(String credentialProgramId) {
164         this.credentialProgramId = credentialProgramId;
165     }
166 
167     @Override
168     public List<ProgramVariationInfo> getVariations() {
169         if (variations == null) {
170             variations = new ArrayList<ProgramVariationInfo>(0);
171         }
172         return variations;
173     }
174 
175     public void setVariations(List<ProgramVariationInfo> variations) {
176         this.variations = variations;
177     }
178 
179     @Override
180     public String getNextReviewPeriod() {
181         return nextReviewPeriod;
182     }
183 
184     public void setNextReviewPeriod(String nextReviewPeriod) {
185         this.nextReviewPeriod = nextReviewPeriod;
186     }
187 
188     @Override
189     public List<AccreditationInfo> getAccreditingAgencies() {
190         return accreditingAgencies;
191     }
192 
193     public void setAccreditingAgencies(List<AccreditationInfo> accreditingAgencies) {
194         this.accreditingAgencies = accreditingAgencies;
195     }
196 
197     @Override
198     public CoreProgramInfo getOrgCoreProgram() {
199         return orgCoreProgram;
200     }
201 
202     public void setOrgCoreProgram(CoreProgramInfo orgCoreProgram) {
203         this.orgCoreProgram = orgCoreProgram;
204     }
205 
206 
207 }