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.cab.businessobject;
017
018 import java.util.LinkedHashMap;
019
020 import org.apache.commons.lang.StringUtils;
021 import org.apache.log4j.Logger;
022 import org.kuali.kfs.module.cab.CabConstants;
023 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
024 import org.kuali.rice.kns.util.KualiDecimal;
025
026 /**
027 * @author Kuali Nervous System Team (kualidev@oncourse.iu.edu)
028 */
029 public class PurchasingAccountsPayableLineAssetAccount extends PersistableBusinessObjectBase {
030 private static final Logger LOG = Logger.getLogger(PurchasingAccountsPayableLineAssetAccount.class);
031
032 private String documentNumber;
033 private Integer accountsPayableLineItemIdentifier;
034 private Integer capitalAssetBuilderLineNumber;
035 private Long generalLedgerAccountIdentifier;
036 private KualiDecimal itemAccountTotalAmount;
037 private String activityStatusCode;
038
039 // non-persistent field
040 private boolean active;
041
042 // References
043 private GeneralLedgerEntry generalLedgerEntry;
044 private PurchasingAccountsPayableItemAsset purchasingAccountsPayableItemAsset;
045
046 public PurchasingAccountsPayableLineAssetAccount() {
047
048 }
049
050 public PurchasingAccountsPayableLineAssetAccount(PurchasingAccountsPayableItemAsset itemAsset, Long generalLedgerAccountIdentifier) {
051 this.documentNumber = itemAsset.getDocumentNumber();
052 this.accountsPayableLineItemIdentifier = itemAsset.getAccountsPayableLineItemIdentifier();
053 this.capitalAssetBuilderLineNumber = itemAsset.getCapitalAssetBuilderLineNumber();
054 this.generalLedgerAccountIdentifier = generalLedgerAccountIdentifier;
055 this.purchasingAccountsPayableItemAsset = itemAsset;
056 this.setActivityStatusCode(StringUtils.isBlank(itemAsset.getActivityStatusCode()) ? CabConstants.ActivityStatusCode.MODIFIED : itemAsset.getActivityStatusCode());
057 }
058
059 public String getDocumentNumber() {
060 return documentNumber;
061 }
062
063 public void setDocumentNumber(String documentNumber) {
064 this.documentNumber = documentNumber;
065 }
066
067 public Integer getAccountsPayableLineItemIdentifier() {
068 return accountsPayableLineItemIdentifier;
069 }
070
071 public void setAccountsPayableLineItemIdentifier(Integer accountsPayableLineItemIdentifier) {
072 this.accountsPayableLineItemIdentifier = accountsPayableLineItemIdentifier;
073 }
074
075 public Integer getCapitalAssetBuilderLineNumber() {
076 return capitalAssetBuilderLineNumber;
077 }
078
079 public void setCapitalAssetBuilderLineNumber(Integer capitalAssetBuilderLineNumber) {
080 this.capitalAssetBuilderLineNumber = capitalAssetBuilderLineNumber;
081 }
082
083 public Long getGeneralLedgerAccountIdentifier() {
084 return generalLedgerAccountIdentifier;
085 }
086
087 public void setGeneralLedgerAccountIdentifier(Long generalLedgerAccountIdentifier) {
088 this.generalLedgerAccountIdentifier = generalLedgerAccountIdentifier;
089 }
090
091 public KualiDecimal getItemAccountTotalAmount() {
092 return itemAccountTotalAmount;
093 }
094
095 public void setItemAccountTotalAmount(KualiDecimal itemAccountTotalAmount) {
096 this.itemAccountTotalAmount = itemAccountTotalAmount;
097 }
098
099 public GeneralLedgerEntry getGeneralLedgerEntry() {
100 return generalLedgerEntry;
101 }
102
103 public void setGeneralLedgerEntry(GeneralLedgerEntry generalLedgerEntry) {
104 this.generalLedgerEntry = generalLedgerEntry;
105 }
106
107 public boolean isActive() {
108 return CabConstants.ActivityStatusCode.NEW.equalsIgnoreCase(this.getActivityStatusCode()) || CabConstants.ActivityStatusCode.MODIFIED.equalsIgnoreCase(this.getActivityStatusCode());
109 }
110
111
112 /**
113 * Gets the activityStatusCode attribute.
114 *
115 * @return Returns the activityStatusCode.
116 */
117 public String getActivityStatusCode() {
118 return activityStatusCode;
119 }
120
121 /**
122 * Sets the activityStatusCode attribute value.
123 *
124 * @param activityStatusCode The activityStatusCode to set.
125 */
126 public void setActivityStatusCode(String activityStatusCode) {
127 this.activityStatusCode = activityStatusCode;
128 }
129
130 public PurchasingAccountsPayableItemAsset getPurchasingAccountsPayableItemAsset() {
131 return purchasingAccountsPayableItemAsset;
132 }
133
134 public void setPurchasingAccountsPayableItemAsset(PurchasingAccountsPayableItemAsset purchasingAccountsPayableItemAsset) {
135 this.purchasingAccountsPayableItemAsset = purchasingAccountsPayableItemAsset;
136 }
137
138 /**
139 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
140 */
141 protected LinkedHashMap toStringMapper() {
142 LinkedHashMap m = new LinkedHashMap();
143 m.put("documentNumber", this.documentNumber);
144 m.put("accountsPayableLineItemIdentifier", this.accountsPayableLineItemIdentifier);
145 m.put("capitalAssetBuilderLineNumber", this.capitalAssetBuilderLineNumber);
146 m.put("generalLedgerAccountIdentifier", this.generalLedgerAccountIdentifier);
147 return m;
148 }
149 }