001 /**
002 * Copyright 2010 The Kuali Foundation Licensed under the
003 * Educational Community License, Version 2.0 (the "License"); you may
004 * not use this file except in compliance with the License. You may
005 * obtain a copy of the License at
006 *
007 * http://www.osedu.org/licenses/ECL-2.0
008 *
009 * Unless required by applicable law or agreed to in writing,
010 * software distributed under the License is distributed on an "AS IS"
011 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
012 * or implied. See the License for the specific language governing
013 * permissions and limitations under the License.
014 */
015
016 package org.kuali.student.lum.lu.dto;
017
018 import java.io.Serializable;
019 import java.util.Date;
020
021 import javax.xml.bind.annotation.XmlAccessType;
022 import javax.xml.bind.annotation.XmlAccessorType;
023 import javax.xml.bind.annotation.XmlAttribute;
024 import javax.xml.bind.annotation.XmlElement;
025
026 import org.kuali.student.common.dto.Idable;
027 import org.kuali.student.common.dto.MetaInfo;
028 import org.kuali.student.common.dto.RichTextInfo;
029
030 /**
031 * Information about a result option.
032 *
033 * @Author KSContractMojo
034 * @Author Kamal
035 * @Since Mon Jan 11 15:21:31 PST 2010
036 * @See <a href="https://test.kuali.org/confluence/display/KULSTU/resultOptionInfo+Structure+v1.0-rc3">ResultOptionInfo</>
037 *
038 */
039 @XmlAccessorType(XmlAccessType.FIELD)
040 public class ResultOptionInfo implements Serializable, Idable {
041
042 private static final long serialVersionUID = 1L;
043
044 @XmlElement
045 private RichTextInfo desc;
046
047 @XmlElement
048 private String resultUsageTypeKey;
049
050 @XmlElement
051 private String resultComponentId;
052
053 @XmlElement
054 private Date effectiveDate;
055
056 @XmlElement
057 private Date expirationDate;
058
059 @XmlElement
060 private MetaInfo metaInfo;
061
062 @XmlAttribute
063 private String state;
064
065 @XmlAttribute
066 private String id;
067
068 /**
069 * Narrative description of the result option.
070 */
071 public RichTextInfo getDesc() {
072 return desc;
073 }
074
075 public void setDesc(RichTextInfo desc) {
076 this.desc = desc;
077 }
078
079 /**
080 * Unique identifier for a result usage type.
081 */
082 public String getResultUsageTypeKey() {
083 return resultUsageTypeKey;
084 }
085
086 public void setResultUsageTypeKey(String resultUsageTypeKey) {
087 this.resultUsageTypeKey = resultUsageTypeKey;
088 }
089
090 /**
091 * Unique identifier for a result component.
092 */
093 public String getResultComponentId() {
094 return resultComponentId;
095 }
096
097 public void setResultComponentId(String resultComponentId) {
098 this.resultComponentId = resultComponentId;
099 }
100
101 /**
102 * Date and time that this result option 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.
103 */
104 public Date getEffectiveDate() {
105 return effectiveDate;
106 }
107
108 public void setEffectiveDate(Date effectiveDate) {
109 this.effectiveDate = effectiveDate;
110 }
111
112 /**
113 * Date and time that this result option expires. This is a similar concept to the expiration date on enumerated values. If specified, this must 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.
114 */
115 public Date getExpirationDate() {
116 return expirationDate;
117 }
118
119 public void setExpirationDate(Date expirationDate) {
120 this.expirationDate = expirationDate;
121 }
122
123 /**
124 * Create and last update info for the structure. This is optional and treated as read only since the data is set by the internals of the service during maintenance operations.
125 */
126 public MetaInfo getMetaInfo() {
127 return metaInfo;
128 }
129
130 public void setMetaInfo(MetaInfo metaInfo) {
131 this.metaInfo = metaInfo;
132 }
133
134 /**
135 * The current status of the result option. The values for this field are constrained to those in the resultOptionState enumeration. A separate setup operation does not exist for retrieval of the meta data around this value.
136 */
137 public String getState() {
138 return state;
139 }
140
141 public void setState(String state) {
142 this.state = state;
143 }
144
145 /**
146 * Unique identifier for a result option. This is optional, due to the identifier being set at the time of creation. Once the result option has been created, this should be seen as required.
147 */
148 public String getId() {
149 return id;
150 }
151
152 public void setId(String id) {
153 this.id = id;
154 }
155 }