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 java.io.Serializable;
19  import java.util.HashMap;
20  import java.util.Map;
21  
22  import javax.xml.bind.annotation.XmlAccessType;
23  import javax.xml.bind.annotation.XmlAccessorType;
24  import javax.xml.bind.annotation.XmlAttribute;
25  import javax.xml.bind.annotation.XmlElement;
26  import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
27  
28  import org.kuali.student.common.dto.Idable;
29  import org.kuali.student.core.ws.binding.JaxbAttributeMapListAdapter;
30  
31  /**
32   *Detailed information about the human readable form of a CLU Identifier
33   */ 
34  @XmlAccessorType(XmlAccessType.FIELD)
35  public class CluIdentifierInfo implements Serializable, Idable {
36  
37      private static final long serialVersionUID = 1L;
38  
39      @XmlElement
40      private String code;
41  
42      @XmlElement
43      private String shortName;
44  
45      @XmlElement
46      private String longName;
47  
48      @XmlElement
49      private String level;
50  
51      @XmlElement
52      private String division;
53  
54      @XmlElement
55      private String variation;
56  
57      @XmlElement
58      private String suffixCode;
59  
60      @XmlElement
61      private String orgId;
62  
63      @XmlAttribute
64      private String type;
65  
66      @XmlAttribute
67      private String state;
68  
69      @XmlAttribute
70      private String id;
71  
72      @XmlElement
73      @XmlJavaTypeAdapter(JaxbAttributeMapListAdapter.class)
74      private Map<String, String> attributes;
75      
76      /**
77       * The composite string that is used to officially reference or publish the CLU. Note it may have an internal structure that each Institution may want to enforce. This structure may be composed from the other parts of the structure such as Level amp; Division, but may include items such as cluType.
78       */
79      public String getCode() {
80          return code;
81      }
82  
83      public void setCode(String code) {
84          this.code = code;
85      }
86  
87      /**
88       * Abbreviated name of the CLU, commonly used on transcripts
89       */
90      public String getShortName() {
91          return shortName;
92      }
93  
94      public void setShortName(String shortName) {
95          this.shortName = shortName;
96      }
97  
98      public String getLongName() {
99          return longName;
100     }
101 
102     public void setLongName(String longName) {
103         this.longName = longName;
104     }
105 
106     /**
107      * A code that indicates whether this is introductory, advanced, etc.
108      */
109     public String getLevel() {
110         return level;
111     }
112 
113     public void setLevel(String level) {
114         this.level = level;
115     }
116 
117     /**
118      * A code that indicates what school, program, major, subject area, etc. Examples: "Chem", "18"
119      */
120     public String getDivision() {
121         return division;
122     }
123 
124     public void setDivision(String division) {
125         this.division = division;
126     }
127     
128     /*
129      * The "extra" portion of the code, which usually corresponds with the most detailed part of the number. 
130      */    
131     public String getSuffixCode() {
132         return suffixCode;
133     }
134 
135     public void setSuffixCode(String suffixCode) {
136         this.suffixCode = suffixCode;
137     }
138     
139     /**
140      * A number that indicates the sequence or order of versions in cases where several different Clus have the same offical Identifier
141      */
142     public String getVariation() {
143         return variation;
144     }
145 
146     public void setVariation(String variation) {
147         this.variation = variation;
148     }
149 
150     /*
151      * The identifier of the organization associated with this cluIdentifier.
152      */
153     public String getOrgId() {
154         return orgId;
155     }
156 
157     public void setOrgId(String orgId) {
158         this.orgId = orgId;
159     }
160 
161     /**
162      * Identifies the type of usage for the identifier. While most usages will have the same data constraints, this may provide some context around what the specific intent is for this identifier. (Ex. Why does this alternate identifier exist?)
163      */
164     public String getType() {
165         return type;
166     }
167 
168     public void setType(String type) {
169         this.type = type;
170     }
171 
172     /**
173      * Identifies the state of the identifier. Values for this field are constrained to values present within the cluIdentifierState enumeration.
174      */
175     public String getState() {
176         return state;
177     }
178 
179     public void setState(String state) {
180         this.state = state;
181     }
182 
183     /**
184      * Identifies the particular identifier structure. This is set by the service to be able to determine changes and alterations to the structure as well as provides a handle for searches. This structure is not accessible through unique operations, and it is strongly recommended that no external references to this particular identifier be maintained.
185      */
186     public String getId() {
187         return id;
188     }
189 
190     public void setId(String id) {
191         this.id = id;
192     }
193 
194     public Map<String, String> getAttributes() {
195         if (attributes == null) {
196             attributes = new HashMap<String, String>();
197         }
198         
199         return attributes;
200     }
201 
202     public void setAttributes(Map<String, String> attributes) {       
203         this.attributes = attributes;
204     }    
205 }