View Javadoc

1   /*
2    * Copyright 2009 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 1.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * 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 implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.student.lum.course.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.HasAttributes;
29  import org.kuali.student.common.dto.Idable;
30  import org.kuali.student.core.ws.binding.JaxbAttributeMapListAdapter;
31  
32  /**
33   * Detailed information about the human readable form of a Variation
34   *
35   * @Author KSContractMojo
36   * @Author Kamal
37   * @Since Tue May 18 11:31:09 PDT 2010
38   * @See <a href="https://test.kuali.org/confluence/display/KULSTU/courseCrossListingInfo+Structure">CourseCrossListingInfo</>
39   *
40   */
41  @XmlAccessorType(XmlAccessType.FIELD)
42  public class CourseCrossListingInfo implements Serializable, Idable, HasAttributes {
43  
44      private static final long serialVersionUID = 1L;
45  
46      @XmlElement
47      private String code;
48      
49      @XmlElement
50      private String subjectArea;
51  
52      @XmlElement
53      private String department;
54  
55      @XmlElement
56      private String courseNumberSuffix;
57  
58      @XmlElement
59      @XmlJavaTypeAdapter(JaxbAttributeMapListAdapter.class)
60      private Map<String, String> attributes;
61      
62      @XmlAttribute
63      private String type;
64  
65      @XmlAttribute
66      private String id;
67  
68  
69      
70      public String getCode() {
71          return code;
72      }
73  
74      public void setCode(String code) {
75          this.code = code;
76      }
77  
78      public String getSubjectArea() {
79          return subjectArea;
80      }
81  
82      public void setSubjectArea(String subjectArea) {
83          this.subjectArea = subjectArea;
84      }
85  
86      public String getDepartment() {
87          return department;
88      }
89  
90      public void setDepartment(String department) {
91          this.department = department;
92      }
93  
94      /**
95       * The "extra" portion of the code, which usually corresponds with the most detailed part of the number.
96       */
97      public String getCourseNumberSuffix() {
98          return courseNumberSuffix;
99      }
100 
101     public void setCourseNumberSuffix(String courseNumberSuffix) {
102         this.courseNumberSuffix = courseNumberSuffix;
103     }
104 
105     /**
106      * List of key/value pairs, typically used for dynamic attributes.
107      */
108     public Map<String, String> getAttributes() {
109         if (attributes == null) {
110             attributes = new HashMap<String, String>();
111         }
112         return attributes;
113     }
114 
115     public void setAttributes(Map<String, String> attributes) {
116         this.attributes = attributes;
117     }
118     
119     /**
120      * This is the CluIdentifier Type. It can only have a single value for VariationType
121      */
122     public String getType() {
123         return type;
124     }
125 
126     public void setType(String type) {
127         this.type = type;
128     }
129 
130     /**
131      * 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.
132      */
133     public String getId() {
134         return id;
135     }
136 
137     public void setId(String id) {
138         this.id = id;
139     }
140 }