1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.kuali.student.core.rate.dto;
18
19 import org.kuali.student.core.rate.infc.Rate;
20 import org.kuali.student.core.rate.infc.FlexibleUnitAmount;
21
22 import org.kuali.student.r2.common.dto.IdEntityInfo;
23 import org.kuali.student.r2.common.dto.CurrencyAmountInfo;
24
25 import java.io.Serializable;
26 import java.util.ArrayList;
27 import java.util.Date;
28 import java.util.List;
29
30 import javax.xml.bind.annotation.XmlAccessType;
31 import javax.xml.bind.annotation.XmlAccessorType;
32 import javax.xml.bind.annotation.XmlAnyElement;
33 import javax.xml.bind.annotation.XmlElement;
34 import javax.xml.bind.annotation.XmlType;
35
36 import org.w3c.dom.Element;
37
38 @XmlAccessorType(XmlAccessType.FIELD)
39 @XmlType(name = "RateInfo", propOrder = {
40 "id", "typeKey", "stateKey", "name", "descr",
41 "catalogRateId", "atpId", "amount", "flexibleUnitAmounts",
42 "transactionCode", "transactionDateTypeKey", "transactionDate",
43 "recognitionDate", "isLimitRate", "minimumLimitUnits",
44 "maximumLimitUnits", "limitAmount",
45 "meta", "attributes", "_futureElements" })
46
47 public class RateInfo
48 extends IdEntityInfo
49 implements Rate {
50
51 private static final long serialVersionUID = 1L;
52
53 @XmlElement
54 private String catalogRateId;
55
56 @XmlElement
57 private String atpId;
58
59 @XmlElement
60 private CurrencyAmountInfo amount;
61
62 @XmlElement
63 private List<FlexibleUnitAmountInfo> flexibleUnitAmounts;
64
65 @XmlElement
66 private String transactionCode;
67
68 @XmlElement
69 private String transactionDateTypeKey;
70
71 @XmlElement
72 private Date transactionDate;
73
74 @XmlElement
75 private Date recognitionDate;
76
77 @XmlElement
78 private Boolean isLimitRate;
79
80 @XmlElement
81 private Integer minimumLimitUnits;
82
83 @XmlElement
84 private Integer maximumLimitUnits;
85
86 @XmlElement
87 private CurrencyAmountInfo limitAmount;
88
89 @XmlAnyElement
90 private List<Element> _futureElements;
91
92
93
94
95
96 public RateInfo() {
97 }
98
99
100
101
102
103
104 public RateInfo(Rate rate) {
105 super(rate);
106
107 if (rate != null) {
108 this.catalogRateId = rate.getCatalogRateId();
109 this.atpId = rate.getAtpId();
110 if (rate.getAmount() != null) {
111 this.amount = new CurrencyAmountInfo(rate.getAmount());
112 }
113
114 this.flexibleUnitAmounts = new ArrayList<FlexibleUnitAmountInfo>();
115 if (rate.getFlexibleUnitAmounts() != null) {
116 for (FlexibleUnitAmount amount : rate.getFlexibleUnitAmounts()) {
117 this.flexibleUnitAmounts.add(new FlexibleUnitAmountInfo(amount));
118 }
119 }
120
121 this.transactionCode = rate.getTransactionCode();
122 this.transactionDateTypeKey = rate.getTransactionDateTypeKey();
123 if (rate.getTransactionDate() != null) {
124 this.transactionDate = new Date(rate.getTransactionDate().getTime());
125 }
126
127 if (rate.getRecognitionDate() != null) {
128 this.recognitionDate = new Date(rate.getRecognitionDate().getTime());
129 }
130
131 this.isLimitRate = rate.getIsLimitRate();
132 this.minimumLimitUnits = rate.getMinimumLimitUnits();
133 this.maximumLimitUnits = rate.getMaximumLimitUnits();
134
135 if (rate.getLimitAmount() != null) {
136 this.amount = new CurrencyAmountInfo(rate.getLimitAmount());
137 }
138 }
139 }
140
141
142 @Override
143 public String getCatalogRateId() {
144 return (this.catalogRateId);
145 }
146
147 public void setCatalogRateId(String catalogRateId) {
148 this.catalogRateId = catalogRateId;
149 }
150
151 @Override
152 public String getAtpId() {
153 return (this.atpId);
154 }
155
156 public void setAtpId(String atpId) {
157 this.atpId = atpId;
158 }
159
160 @Override
161 public CurrencyAmountInfo getAmount() {
162 return (this.amount);
163 }
164
165 public void setAmount(CurrencyAmountInfo amount) {
166 this.amount = amount;
167 }
168
169 @Override
170 public List<FlexibleUnitAmountInfo> getFlexibleUnitAmounts() {
171 if (this.flexibleUnitAmounts == null) {
172 this.flexibleUnitAmounts = new ArrayList<FlexibleUnitAmountInfo>(0);
173 }
174
175 return (this.flexibleUnitAmounts);
176 }
177
178 public void setFlexibleUnitAmounts(List <FlexibleUnitAmountInfo> flexibleUnitAmounts) {
179 this.flexibleUnitAmounts = flexibleUnitAmounts;
180 }
181
182 @Override
183 public String getTransactionDateTypeKey() {
184 return (this.transactionDateTypeKey);
185 }
186
187 public void setTransactionDateTypeKey(String transactionDateTypeKey) {
188 this.transactionDateTypeKey = transactionDateTypeKey;
189 }
190
191 @Override
192 public String getTransactionCode() {
193 return (this.transactionCode);
194 }
195
196 public void setTransactionCode(String transactionCode) {
197 this.transactionCode = transactionCode;
198 }
199
200 @Override
201 public Date getTransactionDate() {
202 return (this.transactionDate);
203 }
204
205 public void setTransactionDate(Date transactionDate) {
206 this.transactionDate = transactionDate;
207 }
208
209 @Override
210 public Date getRecognitionDate() {
211 return (this.recognitionDate);
212 }
213
214 public void setRecognitionDate(Date recognitionDate) {
215 this.recognitionDate = recognitionDate;
216 }
217
218 @Override
219 public Boolean getIsLimitRate() {
220 return (this.isLimitRate);
221 }
222
223 public void setIsLimitRate(Boolean isLimitRate) {
224 this.isLimitRate = isLimitRate;
225 }
226
227 @Override
228 public Integer getMinimumLimitUnits() {
229 return (this.minimumLimitUnits);
230 }
231
232 public void setMinimumLimitUnits(Integer minimumLimitUnits) {
233 this.minimumLimitUnits = minimumLimitUnits;
234 }
235
236 @Override
237 public Integer getMaximumLimitUnits() {
238 return (this.maximumLimitUnits);
239 }
240
241 public void setMaximumLimitUnits(Integer maximumLimitUnits) {
242 this.maximumLimitUnits = maximumLimitUnits;
243 }
244
245 @Override
246 public CurrencyAmountInfo getLimitAmount() {
247 return (this.limitAmount);
248 }
249
250 public void setLimitAmount(CurrencyAmountInfo limitAmount) {
251 this.limitAmount = limitAmount;
252 }
253 }