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 org.kuali.student.core.dto.MetaInfo;
20  import org.kuali.student.core.ws.binding.JaxbAttributeMapListAdapter;
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  import java.io.Serializable;
28  import java.util.Date;
29  import java.util.Map;
30  import org.kuali.student.common.dto.HasAttributesAndMetaInfo;
31  import org.kuali.student.enrollment.lui.infc.LuiInfc;
32  
33  
34  /**
35   * Detailed information about a single LUI.
36   */
37  
38  @XmlAccessorType(XmlAccessType.FIELD)
39  public class LuiInfo extends HasAttributesAndMetaInfo
40    implements Serializable, LuiInfc {
41  
42      private static final long serialVersionUID = 1L;
43  
44      @XmlElement
45      private String luiCode;
46  
47      @XmlElement
48      private String cluId;
49  
50      @XmlElement(name = "atpKey")
51      private String atpKey;
52  
53      @XmlElement
54      private Integer maxSeats;
55  
56      @XmlElement
57      private Date effectiveDate;
58  
59      @XmlElement
60      private Date expirationDate;
61  
62      @XmlAttribute
63      private String state;
64  
65      @XmlAttribute
66      private String id;
67  
68      /**
69       * Code identifier/name for the LUI. This is typically used in
70       * human readable form (e.g. ENGL 100 section 123).
71       */
72      @Override
73      public String getLuiCode() {
74          return luiCode;
75      }
76  
77      @Override
78      public void setLuiCode(String luiCode) {
79          this.luiCode = luiCode;
80      }
81  
82  
83      /**
84       * Unique identifier for a Canonical Learning Unit (CLU).
85       */
86      @Override
87      public String getCluId() {
88          return cluId;
89      }
90  
91      @Override
92      public void setCluId(String cluId) {
93          this.cluId = cluId;
94      }
95  
96  
97      /**
98       * Unique identifier for an Academic Time Period (ATP).
99       */
100     @Override
101     public String getAtpKey() {
102         return atpKey;
103     }
104 
105     @Override
106     public void setAtpKey(String atpKey) {
107         this.atpKey = atpKey;
108     }
109 
110 
111     /**
112      * Maximum number of "seats" that the LUI will hold for registration.
113      */
114     @Override
115     public Integer getMaxSeats() {
116         return maxSeats;
117     }
118 
119     @Override
120     public void setMaxSeats(Integer maxSeats) {
121         this.maxSeats = maxSeats;
122     }
123 
124 
125     /**
126      * Date and time that this LUI became effective. This is a similar
127      * concept to the effective date on enumerated values. When an
128      * expiration date has been specified, this field must be less
129      * than or equal to the expiration date.
130      */
131     @Override
132     public Date getEffectiveDate() {
133         return effectiveDate;
134     }
135 
136     public void setEffectiveDate(Date effectiveDate) {
137         this.effectiveDate = effectiveDate;
138     }
139 
140 
141     /**
142      * Date and time that this LUI expires. This is a similar concept
143      * to the expiration date on enumerated values. If specified, this
144      * should be greater than or equal to the effective date. If this
145      * field is not specified, then no expiration date has been
146      * currently defined and should automatically be considered
147      * greater than the effective date.
148      */
149 
150     public Date getExpirationDate() {
151         return expirationDate;
152     }
153 
154     public void setExpirationDate(Date expirationDate) {
155         this.expirationDate = expirationDate;
156     }
157 
158     /**
159      * The current status of the LUI. The values for this field are
160      * constrained to those in the luState enumeration. A separate
161      * setup operation does not exist for retrieval of the meta data
162      * around this value.
163      */
164 
165     public String getState() {
166         return state;
167     }
168 
169     public void setState(String state) {
170         this.state = state;
171     }
172 
173 
174     /**
175      * Unique identifier for a Learning Unit Instance (LUI). This is
176      * optional, due to the identifier being set at the time of
177      * creation. Once the LUI has been created, this should be seen as
178      * required.
179      */
180 
181     public String getId() {
182         return id;
183     }
184 
185     public void setId(String id) {
186         this.id = id;
187     }
188 }