/*
* 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.cab.businessobject;
import java.sql.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.kuali.kfs.sys.businessobject.Building;
import org.kuali.kfs.sys.businessobject.Room;
import org.kuali.kfs.sys.context.SpringContext;
import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
import org.kuali.rice.krad.service.KualiModuleService;
import org.kuali.rice.krad.service.ModuleService;
import org.kuali.rice.location.api.LocationConstants;
import org.kuali.rice.location.api.campus.CampusService;
import org.kuali.rice.location.framework.campus.CampusEbo;
/**
* @author Kuali Nervous System Team (kualidev@oncourse.iu.edu)
*/
public class PretagDetail extends PersistableBusinessObjectBase {
private String purchaseOrderNumber;
private Integer itemLineNumber;
private String campusTagNumber;
private String serialNumber;
private String organizationTagNumber;
private String campusCode;
private String buildingCode;
private String buildingRoomNumber;
private String buildingSubRoomNumber;
private Date pretagTagCreateDate;
private String governmentTagNumber;
private String nationalStockNumber;
private boolean active;
protected CampusEbo campus;
private Building building;
private Room buildingRoom;
/**
* Default constructor.
*/
public PretagDetail() {
}
/**
* Gets the purchaseOrderNumber attribute.
*
* @return Returns the purchaseOrderNumber
*/
public String getPurchaseOrderNumber() {
return purchaseOrderNumber;
}
/**
* Sets the purchaseOrderNumber attribute.
*
* @param purchaseOrderNumber The purchaseOrderNumber to set.
*/
public void setPurchaseOrderNumber(String purchaseOrderNumber) {
this.purchaseOrderNumber = purchaseOrderNumber;
}
/**
* Gets the itemLineNumber attribute.
*
* @return Returns the itemLineNumber.
*/
public Integer getItemLineNumber() {
return itemLineNumber;
}
/**
* Sets the itemLineNumber attribute value.
*
* @param itemLineNumber The itemLineNumber to set.
*/
public void setItemLineNumber(Integer itemLineNumber) {
this.itemLineNumber = itemLineNumber;
}
/**
* Gets the campusTagNumber attribute.
*
* @return Returns the campusTagNumber
*/
public String getCampusTagNumber() {
return campusTagNumber;
}
/**
* Sets the campusTagNumber attribute.
*
* @param campusTagNumber The campusTagNumber to set.
*/
public void setCampusTagNumber(String campusTagNumber) {
this.campusTagNumber = campusTagNumber;
}
/**
* Gets the serialNumber attribute.
*
* @return Returns the serialNumber
*/
public String getSerialNumber() {
return serialNumber;
}
/**
* Sets the serialNumber attribute.
*
* @param serialNumber The serialNumber to set.
*/
public void setSerialNumber(String serialNumber) {
this.serialNumber = serialNumber;
}
/**
* Gets the organizationTagNumber attribute.
*
* @return Returns the organizationTagNumber
*/
public String getOrganizationTagNumber() {
return organizationTagNumber;
}
/**
* Sets the organizationTagNumber attribute.
*
* @param organizationTagNumber The organizationTagNumber to set.
*/
public void setOrganizationTagNumber(String organizationTagNumber) {
this.organizationTagNumber = organizationTagNumber;
}
/**
* Gets the campusCode attribute.
*
* @return Returns the campusCode
*/
public String getCampusCode() {
return campusCode;
}
/**
* Sets the campusCode attribute.
*
* @param campusCode The campusCode to set.
*/
public void setCampusCode(String campusCode) {
this.campusCode = campusCode;
}
/**
* Gets the buildingCode attribute.
*
* @return Returns the buildingCode
*/
public String getBuildingCode() {
return buildingCode;
}
/**
* Sets the buildingCode attribute.
*
* @param buildingCode The buildingCode to set.
*/
public void setBuildingCode(String buildingCode) {
this.buildingCode = buildingCode;
}
/**
* Gets the buildingRoomNumber attribute.
*
* @return Returns the buildingRoomNumber
*/
public String getBuildingRoomNumber() {
return buildingRoomNumber;
}
/**
* Sets the buildingRoomNumber attribute.
*
* @param buildingRoomNumber The buildingRoomNumber to set.
*/
public void setBuildingRoomNumber(String buildingRoomNumber) {
this.buildingRoomNumber = buildingRoomNumber;
}
/**
* Gets the buildingSubRoomNumber attribute.
*
* @return Returns the buildingSubRoomNumber
*/
public String getBuildingSubRoomNumber() {
return buildingSubRoomNumber;
}
/**
* Sets the buildingSubRoomNumber attribute.
*
* @param buildingSubRoomNumber The buildingSubRoomNumber to set.
*/
public void setBuildingSubRoomNumber(String buildingSubRoomNumber) {
this.buildingSubRoomNumber = buildingSubRoomNumber;
}
/**
* Gets the pretagTagCreateDate attribute.
*
* @return Returns the pretagTagCreateDate
*/
public Date getPretagTagCreateDate() {
return pretagTagCreateDate;
}
/**
* Sets the pretagTagCreateDate attribute.
*
* @param pretagTagCreateDate The pretagTagCreateDate to set.
*/
public void setPretagTagCreateDate(Date pretagTagCreateDate) {
this.pretagTagCreateDate = pretagTagCreateDate;
}
/**
* Gets the governmentTagNumber attribute.
*
* @return Returns the governmentTagNumber.
*/
public String getGovernmentTagNumber() {
return governmentTagNumber;
}
/**
* Sets the governmentTagNumber attribute value.
*
* @param governmentTagNumber The governmentTagNumber to set.
*/
public void setGovernmentTagNumber(String governmentTagNumber) {
this.governmentTagNumber = governmentTagNumber;
}
/**
* Gets the nationalStockNumber attribute.
*
* @return Returns the nationalStockNumber.
*/
public String getNationalStockNumber() {
return nationalStockNumber;
}
/**
* Sets the nationalStockNumber attribute value.
*
* @param nationalStockNumber The nationalStockNumber to set.
*/
public void setNationalStockNumber(String nationalStockNumber) {
this.nationalStockNumber = nationalStockNumber;
}
/**
* Gets the active attribute.
*
* @return Returns the active.
*/
public boolean isActive() {
return active;
}
/**
* Sets the active attribute value.
*
* @param active The active to set.
*/
public void setActive(boolean active) {
this.active = active;
}
/**
* Gets the campus attribute.
*
* @return Returns the campus
*/
public CampusEbo getCampus() {
if ( StringUtils.isBlank(campusCode) ) {
campus = null;
} else {
if ( campus == null || !StringUtils.equals( campus.getCode(), campusCode) ) {
ModuleService moduleService = SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(CampusEbo.class);
if ( moduleService != null ) {
Map<String,Object> keys = new HashMap<String, Object>(1);
keys.put(LocationConstants.PrimaryKeyConstants.CODE, campusCode);
campus = moduleService.getExternalizableBusinessObject(CampusEbo.class, keys);
} else {
throw new RuntimeException( "CONFIGURATION ERROR: No responsible module found for EBO class. Unable to proceed." );
}
}
}
return campus;
}
/**
* Sets the campus attribute.
*
* @param campus The campus to set.
* @deprecated
*/
public void setCampus(CampusEbo campus) {
this.campus = campus;
}
/**
* Gets the building attribute.
*
* @return Returns the building.
*/
public Building getBuilding() {
return building;
}
/**
* Sets the building attribute value.
*
* @param building The building to set.
* @deprecated
*/
public void setBuilding(Building building) {
this.building = building;
}
/**
* Gets the buildingRoom attribute.
*
* @return Returns the buildingRoom.
*/
public Room getBuildingRoom() {
return buildingRoom;
}
/**
* Sets the buildingRoom attribute value.
*
* @param buildingRoom The buildingRoom to set.
* @deprecated
*/
public void setBuildingRoom(Room buildingRoom) {
this.buildingRoom = buildingRoom;
}
/**
* @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper()
*/
protected LinkedHashMap toStringMapper_RICE20_REFACTORME() {
LinkedHashMap m = new LinkedHashMap();
m.put("purchaseOrderNumber", this.purchaseOrderNumber);
if (this.itemLineNumber != null) {
m.put("itemLineNumber", this.itemLineNumber.toString());
}
m.put("campusTagNumber", this.campusTagNumber);
return m;
}
}