001 /*
002 * Copyright 2011 The Kuali Foundation.
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.kuali.kfs.module.endow.businessobject;
017
018 import java.util.LinkedHashMap;
019
020 import org.apache.commons.lang.StringUtils;
021 import org.kuali.kfs.module.endow.EndowPropertyConstants;
022 import org.kuali.kfs.sys.KFSConstants;
023 import org.kuali.rice.kns.bo.Inactivateable;
024 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
025
026 /**
027 * Business Object for Pooled Fund Control table.
028 */
029 public class PooledFundControl extends PersistableBusinessObjectBase implements Inactivateable {
030 private String pooledSecurityID;
031 private String pooledFundDescription;
032 private Integer incrementValuationDays;
033 private String fundRegistrationCode;
034 private String fundKEMID;
035 private String fundAssetPurchaseOffsetTranCode;
036 private String fundAssetSaleOffsetTranCode;
037 private String fundSaleGainLossOffsetTranCode;
038 private String fundCashDepositOffsetTranCode;
039 private boolean distributeGainsAndLossesIndicator;
040 private boolean allowFractionalShares;
041
042 private boolean active;
043
044 private Security security;
045 private RegistrationCode registrationCodeObj;
046 private KEMID kemid;
047 private EndowmentTransactionCode assetPurchaseOffsetTranCode;
048 private EndowmentTransactionCode assetSaleOffsetTranCode;
049 private EndowmentTransactionCode saleGainLossOffsetTranCode;
050 private EndowmentTransactionCode cashDepositOffsetTranCode;
051
052 /**
053 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
054 */
055 @Override
056 protected LinkedHashMap toStringMapper() {
057 LinkedHashMap m = new LinkedHashMap();
058 m.put(EndowPropertyConstants.POOL_SECURITY_ID, this.pooledSecurityID);
059 return m;
060 }
061
062 /**
063 * @see org.kuali.rice.kns.bo.Inactivateable#isActive()
064 */
065 public boolean isActive() {
066 return active;
067 }
068
069 /**
070 * @see org.kuali.rice.kns.bo.Inactivateable#setActive(boolean)
071 */
072 public void setActive(boolean active) {
073 this.active = active;
074 }
075
076 /**
077 * Gets the pooledSecurityID.
078 *
079 * @return pooledSecurityID
080 */
081 public String getPooledSecurityID() {
082 return pooledSecurityID;
083 }
084
085 /**
086 * Sets the pooledSecurityID.
087 *
088 * @param pooledSecurityID
089 */
090 public void setPooledSecurityID(String pooledSecurityID) {
091 this.pooledSecurityID = pooledSecurityID;
092 }
093
094 /**
095 * Gets the pooledFundDescription.
096 *
097 * @return pooledFundDescription
098 */
099 public String getPooledFundDescription() {
100 return pooledFundDescription;
101 }
102
103 /**
104 * Sets the pooledFundDescription.
105 *
106 * @param pooledFundDescription
107 */
108 public void setPooledFundDescription(String pooledFundDescription) {
109 this.pooledFundDescription = pooledFundDescription;
110 }
111
112 /**
113 * Gets the incrementValuationDays
114 *
115 * @return incrementValuationDays
116 */
117 public Integer getIncrementValuationDays() {
118 return incrementValuationDays;
119 }
120
121 /**
122 * Sets the incrementValuationDays
123 *
124 * @param incrementValuationDays
125 */
126 public void setIncrementValuationDays(Integer incrementValuationDays) {
127 this.incrementValuationDays = incrementValuationDays;
128 }
129
130 /**
131 * Gets the fundRegistrationCode
132 *
133 * @return fundRegistrationCode
134 */
135 public String getFundRegistrationCode() {
136 return fundRegistrationCode;
137 }
138
139 /**
140 * Sets the fundRegistrationCode
141 *
142 * @param fundRegistrationCode
143 */
144 public void setFundRegistrationCode(String fundRegistrationCode) {
145 this.fundRegistrationCode = fundRegistrationCode;
146 }
147
148
149 /**
150 * Gets the fundKEMID.
151 *
152 * @return fundKEMID
153 */
154 public String getFundKEMID() {
155 return fundKEMID;
156 }
157
158 /**
159 * Sets the fundKEMID.
160 *
161 * @param fundKEMID
162 */
163 public void setFundKEMID(String fundKEMID) {
164 this.fundKEMID = fundKEMID;
165 }
166
167 /**
168 * Gets the fundAssetPurchaseOffsetTranCode
169 *
170 * @return fundAssetPurchaseOffsetTranCode
171 */
172 public String getFundAssetPurchaseOffsetTranCode() {
173 return fundAssetPurchaseOffsetTranCode;
174 }
175
176 /**
177 * Set the fundAssetPurchaseOffsetTranCode
178 *
179 * @param fundAssetPurchaseOffsetTranCode
180 */
181 public void setFundAssetPurchaseOffsetTranCode(String fundAssetPurchaseOffsetTranCode) {
182 this.fundAssetPurchaseOffsetTranCode = fundAssetPurchaseOffsetTranCode;
183 }
184
185 /**
186 * Gets the fundAssetSaleOffsetTranCode
187 *
188 * @return fundAssetSaleOffsetTranCode
189 */
190 public String getFundAssetSaleOffsetTranCode() {
191 return fundAssetSaleOffsetTranCode;
192 }
193
194 /**
195 * Set the fundAssetSaleOffsetTranCode
196 *
197 * @param fundAssetSaleOffsetTranCode
198 */
199 public void setFundAssetSaleOffsetTranCode(String fundAssetSaleOffsetTranCode) {
200 this.fundAssetSaleOffsetTranCode = fundAssetSaleOffsetTranCode;
201 }
202
203 /**
204 * Gets the fundSaleGainLossOffsetTranCode
205 *
206 * @return fundSaleGainLossOffsetTranCode
207 */
208 public String getFundSaleGainLossOffsetTranCode() {
209 return fundSaleGainLossOffsetTranCode;
210 }
211
212 /**
213 * Set the fundSaleGainLossOffsetTranCode
214 *
215 * @param fundSaleGainLossOffsetTranCode
216 */
217 public void setFundSaleGainLossOffsetTranCode(String fundSaleGainLossOffsetTranCode) {
218 this.fundSaleGainLossOffsetTranCode = fundSaleGainLossOffsetTranCode;
219 }
220
221 /**
222 * Gets the fundCashDepositOffsetTranCode
223 *
224 * @return fundCashDepositOffsetTranCode
225 */
226 public String getFundCashDepositOffsetTranCode() {
227 return fundCashDepositOffsetTranCode;
228 }
229
230 /**
231 * Set the fundCashDepositOffsetTranCode
232 *
233 * @param fundCashDepositOffsetTranCode
234 */
235 public void setFundCashDepositOffsetTranCode(String fundCashDepositOffsetTranCode) {
236 this.fundCashDepositOffsetTranCode = fundCashDepositOffsetTranCode;
237 }
238
239 /**
240 * Gets the distributeGainsAndLossesIndicator.
241 *
242 * @return distributeGainsAndLossesIndicator
243 */
244 public boolean isDistributeGainsAndLossesIndicator() {
245 return distributeGainsAndLossesIndicator;
246 }
247
248 /**
249 * Sets the distributeGainsAndLossesIndicator.
250 *
251 * @param distributeGainsAndLossesIndicator
252 */
253 public void setDistributeGainsAndLossesIndicator(boolean distributeGainsAndLossesIndicator) {
254 this.distributeGainsAndLossesIndicator = distributeGainsAndLossesIndicator;
255 }
256
257 /**
258 * Gets the security object
259 *
260 * @return security
261 */
262 public Security getSecurity() {
263 return security;
264 }
265
266 /**
267 * Sets the security object
268 *
269 * @param security
270 */
271 public void setSecurity(Security security) {
272 this.security = security;
273 }
274
275 /**
276 * Gets the registrationCodeObj
277 *
278 * @return registrationCodeObj
279 */
280 public RegistrationCode getRegistrationCodeObj() {
281 return registrationCodeObj;
282 }
283
284 /**
285 * Sets the registrationCodeObj
286 *
287 * @param registrationCodeObj
288 */
289 public void setRegistrationCodeObj(RegistrationCode registrationCodeObj) {
290 this.registrationCodeObj = registrationCodeObj;
291 }
292 /**
293 * Gets the kemid object
294 *
295 * @return kemid
296 */
297 public KEMID getKemid() {
298 return kemid;
299 }
300
301 /**
302 * Sets the kemid object
303 *
304 * @param kemid
305 */
306 public void setKemid(KEMID kemid) {
307 this.kemid = kemid;
308 }
309
310 /**
311 * Gets the assetPurchaseOffsetTranCode
312 *
313 * @return assetPurchaseOffsetTranCode
314 */
315 public EndowmentTransactionCode getAssetPurchaseOffsetTranCode() {
316 return assetPurchaseOffsetTranCode;
317 }
318
319 /**
320 * Sets the assetPurchaseOffsetTranCode.
321 *
322 * @param assetPurchaseOffsetTranCode
323 */
324 public void setAssetPurchaseOffsetTranCode(EndowmentTransactionCode assetPurchaseOffsetTranCode) {
325 this.assetPurchaseOffsetTranCode = assetPurchaseOffsetTranCode;
326 }
327
328 /**
329 * Gets the assetSaleOffsetTranCode
330 *
331 * @return assetSaleOffsetTranCode
332 */
333 public EndowmentTransactionCode getAssetSaleOffsetTranCode() {
334 return assetSaleOffsetTranCode;
335 }
336
337 /**
338 * Sets the assetSaleOffsetTranCode.
339 *
340 * @param assetSaleOffsetTranCode
341 */
342 public void setAssetSaleOffsetTranCode(EndowmentTransactionCode assetSaleOffsetTranCode) {
343 this.assetSaleOffsetTranCode = assetSaleOffsetTranCode;
344 }
345
346 /**
347 * Gets the saleGainLossOffsetTranCode
348 *
349 * @return saleGainLossOffsetTranCode
350 */
351 public EndowmentTransactionCode getSaleGainLossOffsetTranCode() {
352 return saleGainLossOffsetTranCode;
353 }
354
355 /**
356 * Sets the saleGainLossOffsetTranCode.
357 *
358 * @param saleGainLossOffsetTranCode
359 */
360 public void setSaleGainLossOffsetTranCode(EndowmentTransactionCode saleGainLossOffsetTranCode) {
361 this.saleGainLossOffsetTranCode = saleGainLossOffsetTranCode;
362 }
363
364 /**
365 * Gets the cashDepositOffsetTranCode
366 *
367 * @return cashDepositOffsetTranCode
368 */
369 public EndowmentTransactionCode getCashDepositOffsetTranCode() {
370 return cashDepositOffsetTranCode;
371 }
372
373 /**
374 * Sets the cashDepositOffsetTranCode.
375 *
376 * @param cashDepositOffsetTranCode
377 */
378 public void setCashDepositOffsetTranCode(EndowmentTransactionCode cashDepositOffsetTranCode) {
379 this.cashDepositOffsetTranCode = cashDepositOffsetTranCode;
380 }
381
382 /**
383 * Gets pooledSecurityID and pooledFundDescription.
384 *
385 * @return
386 */
387 public String getPooledSecurityIDAndDescription() {
388 if (StringUtils.isEmpty(pooledSecurityID)) {
389 return KFSConstants.EMPTY_STRING;
390 }
391 else
392 return getPooledSecurityID() + " - " + getPooledFundDescription();
393 }
394
395 /**
396 * Sets pooledSecurityID and pooledFundDescription.
397 *
398 * @param pooledSecurityIDAndDescription
399 */
400 public void setPooledSecurityIDAndDescription(String pooledSecurityIDAndDescription) {
401
402 }
403
404 /**
405 * Gets the allowFractionalShares.
406 *
407 * @return allowFractionalShares
408 */
409 public boolean isAllowFractionalShares() {
410 return allowFractionalShares;
411 }
412
413 /**
414 * Sets the allowFractionalShares.
415 *
416 * @param allowFractionalShares
417 */
418 public void setAllowFractionalShares(boolean allowFractionalShares) {
419 this.allowFractionalShares = allowFractionalShares;
420 }
421
422 }