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.document;
017
018 import java.math.BigDecimal;
019
020 import org.kuali.rice.kew.dto.DocumentRouteStatusChangeDTO;
021 import org.kuali.rice.kns.util.KualiInteger;
022
023 import org.kuali.kfs.sys.document.Correctable;
024 import org.kuali.kfs.sys.document.FinancialSystemTransactionalDocumentBase;
025 import org.kuali.rice.kns.document.Copyable;
026 import org.kuali.kfs.module.endow.businessobject.Security;
027 import org.kuali.kfs.module.endow.businessobject.SecurityValuationMethod;
028 import org.kuali.kfs.module.endow.businessobject.MonthEndDate;
029
030 /**
031 * This is the transactional document that is used to record a modification to the
032 * market value of a record or group of records in the holding history table
033 */
034 public class HoldingHistoryValueAdjustmentDocument extends FinancialSystemTransactionalDocumentBase implements Copyable {
035
036 protected String securityId;
037 protected KualiInteger holdingMonthEndDate;
038 protected BigDecimal securityUnitValue;
039 protected BigDecimal securityMarketValue;
040 protected boolean transactionPosted;
041
042 protected Security security;
043 protected SecurityValuationMethod securityValuation;
044 protected MonthEndDate monthEndDate;
045
046 public HoldingHistoryValueAdjustmentDocument() {
047 super();
048 }
049
050 /**
051 * This method will get securityId
052 * @return securityId
053 */
054 public String getSecurityId() {
055 return securityId;
056 }
057
058 /**
059 * This method will set securityId
060 * @param securityId
061 */
062 public void setSecurityId(String securityId) {
063 this.securityId = securityId;
064 }
065
066 /**
067 * This method will get holdingMonthEndDate
068 * @return holdingMonthEndDate
069 */
070 public KualiInteger getHoldingMonthEndDate() {
071 return holdingMonthEndDate;
072 }
073
074 /**
075 * This method will set holdingMonthEndDate
076 * @param holdingMonthEndDate
077 */
078 public void setHoldingMonthEndDate(KualiInteger holdingMonthEndDate) {
079 this.holdingMonthEndDate = holdingMonthEndDate;
080 }
081
082 /**
083 * This method will get securityUnitValue
084 * @return securityUnitValue
085 */
086 public BigDecimal getSecurityUnitValue() {
087 return securityUnitValue;
088 }
089
090 /**
091 * This method will set securityUnitValue
092 * @param securityUnitValue
093 */
094 public void setSecurityUnitValue(BigDecimal securityUnitValue) {
095 this.securityUnitValue = securityUnitValue;
096 }
097
098 /**
099 * This method will get securityMarketValue
100 * @return securityMarketValue
101 */
102 public BigDecimal getSecurityMarketValue() {
103 return securityMarketValue;
104 }
105
106 /**
107 * This method will set securityMarketValue
108 * @param securityMarketValue
109 */
110 public void setSecurityMarketValue(BigDecimal securityMarketValue) {
111 this.securityMarketValue = securityMarketValue;
112 }
113
114 /**
115 * Get TransactionPosted
116 * @return transactionPosted
117 */
118 public boolean isTransactionPosted() {
119 return transactionPosted;
120 }
121
122 /**
123 * Set TransactionPosted
124 * @param transactionPosted
125 */
126 public void setTransactionPosted(boolean transactionPosted) {
127 this.transactionPosted = transactionPosted;
128 }
129
130 /**
131 * This method will get security
132 * @return security
133 */
134 public Security getSecurity() {
135 return security;
136 }
137
138 /**
139 * This method will set security
140 * @param security
141 */
142 public void setSecurity(Security security) {
143 this.security = security;
144 }
145
146 /**
147 * This method will get securityValuation
148 * @return securityValuation
149 */
150 public SecurityValuationMethod getSecurityValuation() {
151 return securityValuation;
152 }
153
154 /**
155 * This method will set securityValuation
156 * @param securityValuation
157 */
158 public void setSecurityValuation(SecurityValuationMethod securityValuation) {
159 this.securityValuation = securityValuation;
160 }
161
162 /**
163 * This method will get monthEndDate
164 * @return monthEndDate
165 */
166 public MonthEndDate getMonthEndDate() {
167 return monthEndDate;
168 }
169
170 /**
171 * This method will set monthEndDate
172 * @param monthEndDate
173 */
174 public void setMonthEndDate(MonthEndDate monthEndDate) {
175 this.monthEndDate = monthEndDate;
176 }
177
178 /**
179 * When document is processed or in the final status, do nothing specific.
180 *
181 * @see org.kuali.kfs.module.endow.document.EndowmentTransactionalDocumentBase#doRouteStatusChange()
182 */
183 @Override
184 public void doRouteStatusChange(DocumentRouteStatusChangeDTO statusChangeEvent){
185 //override the action defined in EndowmentTransactionalDocumentBase.
186 //since we don't need to post any transaction from this document type to
187 //the endowment transaction archive tables
188 }
189 }