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 }