/*
* The Kuali Financial System, a comprehensive financial management system for higher education.
*
* Copyright 2005-2014 The Kuali Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.kuali.kfs.module.purap.businessobject;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.kuali.kfs.integration.purap.CapitalAssetLocation;
import org.kuali.kfs.integration.purap.CapitalAssetSystem;
import org.kuali.kfs.integration.purap.ItemCapitalAsset;
import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
public abstract class PurchasingCapitalAssetSystemBase extends PersistableBusinessObjectBase implements CapitalAssetSystem {
private Integer capitalAssetSystemIdentifier;
private String capitalAssetSystemDescription;
private boolean capitalAssetNotReceivedCurrentFiscalYearIndicator;
private String capitalAssetTypeCode;
private String capitalAssetManufacturerName;
private String capitalAssetModelDescription;
private String capitalAssetNoteText;
private List<ItemCapitalAsset> itemCapitalAssets;
private List<CapitalAssetLocation> capitalAssetLocations;
private CapitalAssetLocation newPurchasingCapitalAssetLocationLine;
private Integer capitalAssetCountAssetNumber;
public Integer getCapitalAssetCountAssetNumber() {
return capitalAssetCountAssetNumber;
}
public void setCapitalAssetCountAssetNumber(Integer capitalAssetCountAssetNumber) {
this.capitalAssetCountAssetNumber = capitalAssetCountAssetNumber;
}
public PurchasingCapitalAssetSystemBase() {
super();
itemCapitalAssets = new ArrayList();
capitalAssetLocations = new ArrayList();
this.setNewPurchasingCapitalAssetLocationLine(this.setupNewPurchasingCapitalAssetLocationLine());
}
public String getCapitalAssetSystemDescription() {
//This is needed because bean:define would throw error if capitalAssetSystemDescription is empty.
if (StringUtils.isEmpty(capitalAssetSystemDescription)) {
capitalAssetSystemDescription = new String(" ");
}
return capitalAssetSystemDescription;
}
public void setCapitalAssetSystemDescription(String capitalAssetSystemDescription) {
this.capitalAssetSystemDescription = capitalAssetSystemDescription;
}
public boolean isCapitalAssetNotReceivedCurrentFiscalYearIndicator() {
return capitalAssetNotReceivedCurrentFiscalYearIndicator;
}
public void setCapitalAssetNotReceivedCurrentFiscalYearIndicator(boolean capitalAssetNotReceivedCurrentFiscalYearIndicator) {
this.capitalAssetNotReceivedCurrentFiscalYearIndicator = capitalAssetNotReceivedCurrentFiscalYearIndicator;
}
public String getCapitalAssetTypeCode() {
return capitalAssetTypeCode;
}
public void setCapitalAssetTypeCode(String capitalAssetTypeCode) {
this.capitalAssetTypeCode = capitalAssetTypeCode;
}
public String getCapitalAssetManufacturerName() {
return capitalAssetManufacturerName;
}
public void setCapitalAssetManufacturerName(String capitalAssetManufacturerName) {
this.capitalAssetManufacturerName = capitalAssetManufacturerName;
}
public String getCapitalAssetModelDescription() {
return capitalAssetModelDescription;
}
public void setCapitalAssetModelDescription(String capitalAssetModelDescription) {
this.capitalAssetModelDescription = capitalAssetModelDescription;
}
public List<ItemCapitalAsset> getItemCapitalAssets() {
return itemCapitalAssets;
}
public void setItemCapitalAssets(List<ItemCapitalAsset> itemCapitalAssets) {
this.itemCapitalAssets = itemCapitalAssets;
}
public List<CapitalAssetLocation> getCapitalAssetLocations() {
return capitalAssetLocations;
}
public void setCapitalAssetLocations(List<CapitalAssetLocation> capitalAssetLocations) {
this.capitalAssetLocations = capitalAssetLocations;
}
public Integer getCapitalAssetSystemIdentifier() {
return capitalAssetSystemIdentifier;
}
public void setCapitalAssetSystemIdentifier(Integer capitalAssetSystemIdentifier) {
this.capitalAssetSystemIdentifier = capitalAssetSystemIdentifier;
}
public String getCapitalAssetNoteText() {
//This is needed because bean:define would throw error if capitalAssetNoteText is empty.
if (StringUtils.isEmpty(capitalAssetNoteText)) {
capitalAssetNoteText = new String(" ");
}
return capitalAssetNoteText;
}
public void setCapitalAssetNoteText(String capitalAssetNoteText) {
this.capitalAssetNoteText = capitalAssetNoteText;
}
public boolean isEmpty() {
return !(StringUtils.isNotEmpty(capitalAssetNoteText) || StringUtils.isNotEmpty(capitalAssetSystemDescription) || StringUtils.isNotEmpty(capitalAssetManufacturerName) || StringUtils.isNotEmpty(this.capitalAssetModelDescription) || StringUtils.isNotEmpty(capitalAssetTypeCode));
}
public abstract Class getItemCapitalAssetClass();
public abstract Class getCapitalAssetLocationClass();
//CAMS LOCATION
public CapitalAssetLocation setupNewPurchasingCapitalAssetLocationLine() {
CapitalAssetLocation location = null;
try{
location = (CapitalAssetLocation)getCapitalAssetLocationClass().newInstance();
}
catch (InstantiationException e) {
throw new RuntimeException("Unable to get class");
}
catch (IllegalAccessException e) {
throw new RuntimeException("Unable to get class");
}
catch (NullPointerException e) {
throw new RuntimeException("Can't instantiate Purchasing Account from base");
}
return location;
}
public void setNewPurchasingCapitalAssetLocationLine(CapitalAssetLocation newCapitalAssetLocationLine) {
this.newPurchasingCapitalAssetLocationLine = newCapitalAssetLocationLine;
}
public CapitalAssetLocation getNewPurchasingCapitalAssetLocationLine() {
return newPurchasingCapitalAssetLocationLine;
}
public CapitalAssetLocation getAndResetNewPurchasingCapitalAssetLocationLine() {
CapitalAssetLocation asset = getNewPurchasingCapitalAssetLocationLine();
setNewPurchasingCapitalAssetLocationLine(setupNewPurchasingCapitalAssetLocationLine());
return asset;
}
public void resetNewPurchasingCapitalAssetLocationLine(){
setNewPurchasingCapitalAssetLocationLine(setupNewPurchasingCapitalAssetLocationLine());
}
protected LinkedHashMap toStringMapper_RICE20_REFACTORME() {
LinkedHashMap m = new LinkedHashMap();
if (this.capitalAssetSystemIdentifier != null) {
m.put("capitalAssetSystemIdentifier", this.capitalAssetSystemIdentifier.toString());
}
return m;
}
}