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.lrc.dto;
17  
18  import java.io.Serializable;
19  import java.util.Date;
20  import java.util.HashMap;
21  import java.util.Map;
22  
23  import javax.xml.bind.annotation.XmlAccessType;
24  import javax.xml.bind.annotation.XmlAccessorType;
25  import javax.xml.bind.annotation.XmlAttribute;
26  import javax.xml.bind.annotation.XmlElement;
27  import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
28  
29  import org.kuali.student.core.dto.HasAttributes;
30  import org.kuali.student.core.dto.Idable;
31  import org.kuali.student.core.dto.RichTextInfo;
32  import org.kuali.student.core.ws.binding.JaxbAttributeMapListAdapter;
33  
34  /**
35   * Detailed information about a scale.
36   *
37   * @Author KSContractMojo
38   * @Author lindholm
39   * @Since Tue Apr 21 13:47:41 PDT 2009
40   * @See <a href="https://test.kuali.org/confluence/display/KULSTU/scaleInfo+Structure">ScaleInfo</>
41   *
42   */
43  @XmlAccessorType(XmlAccessType.FIELD)
44  public class ScaleInfo implements Serializable, Idable, HasAttributes {
45  
46      private static final long serialVersionUID = 1L;
47  
48      @XmlElement
49      private String name;
50  
51      @XmlElement
52      private RichTextInfo desc;
53  
54      @XmlElement
55      private Date effectiveDate;
56  
57      @XmlElement
58      private Date expirationDate;
59  
60      @XmlElement
61      @XmlJavaTypeAdapter(JaxbAttributeMapListAdapter.class)
62      private Map<String, String> attributes;
63  
64      @XmlAttribute(name="key")
65      private String id;
66  
67      /**
68       * Name of the scale.
69       */
70      public String getName() {
71          return name;
72      }
73  
74      public void setName(String name) {
75          this.name = name;
76      }
77  
78      /**
79       * Description of the scale.
80       */
81      public RichTextInfo getDesc() {
82          return desc;
83      }
84  
85      public void setDesc(RichTextInfo desc) {
86          this.desc = desc;
87      }
88  
89      /**
90       * Date and time that this scale became effective. This is a similar concept to the effective date on enumerated values. When an expiration date has been specified, this field must be less than or equal to the expiration date.
91       */
92      public Date getEffectiveDate() {
93          return effectiveDate;
94      }
95  
96      public void setEffectiveDate(Date effectiveDate) {
97          this.effectiveDate = effectiveDate;
98      }
99  
100     /**
101      * Date and time that this scale expires. This is a similar concept to the expiration date on enumerated values. If specified, this should be greater than or equal to the effective date. If this field is not specified, then no expiration date has been currently defined and should automatically be considered greater than the effective date.
102      */
103     public Date getExpirationDate() {
104         return expirationDate;
105     }
106 
107     public void setExpirationDate(Date expirationDate) {
108         this.expirationDate = expirationDate;
109     }
110 
111     /**
112      * List of key/value pairs, typically used for dynamic attributes.
113      */
114     public Map<String, String> getAttributes() {
115         if (attributes == null) {
116             attributes = new HashMap<String, String>();
117         }
118         return attributes;
119     }
120 
121     public void setAttributes(Map<String, String> attributes) {
122         this.attributes = attributes;
123     }
124 
125     /**
126      * Unique identifier for a scale.
127      */
128     public String getId() {
129         return id;
130     }
131 
132     public void setId(String id) {
133         this.id = id;
134     }
135 }