/* * 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.cg.businessobject; import java.util.LinkedHashMap; import org.kuali.kfs.coa.businessobject.Chart; import org.kuali.kfs.coa.businessobject.Organization; import org.kuali.kfs.integration.cg.ContractsAndGrantsOrganization; import org.kuali.kfs.sys.KFSPropertyConstants; import org.kuali.rice.core.api.mo.common.active.MutableInactivatable; import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; /** * This class represents an association between an award and an organization. It's like a reference to the organization from the * award. This way an award can maintain a collection of these references instead of owning organizations directly. */ public class AwardOrganization extends PersistableBusinessObjectBase implements Primaryable, MutableInactivatable, ContractsAndGrantsOrganization { private String chartOfAccountsCode; private String organizationCode; private Long proposalNumber; private boolean awardPrimaryOrganizationIndicator; private boolean active = true; private Chart chartOfAccounts; private Organization organization; /** * Gets the chartOfAccountsCode attribute. * * @return Returns the chartOfAccountsCode */ @Override public String getChartOfAccountsCode() { return chartOfAccountsCode; } /** * Sets the chartOfAccountsCode attribute. * * @param chartOfAccountsCode The chartOfAccountsCode to set. */ public void setChartOfAccountsCode(String chartOfAccountsCode) { this.chartOfAccountsCode = chartOfAccountsCode; } /** * Gets the organizationCode attribute. * * @return Returns the organizationCode */ @Override public String getOrganizationCode() { return organizationCode; } /** * Sets the organizationCode attribute. * * @param organizationCode The organizationCode to set. */ public void setOrganizationCode(String organizationCode) { this.organizationCode = organizationCode; } /** * Gets the proposalNumber attribute. * * @return Returns the proposalNumber */ @Override public Long getProposalNumber() { return proposalNumber; } /** * Sets the proposalNumber attribute. * * @param proposalNumber The proposalNumber to set. */ public void setProposalNumber(Long proposalNumber) { this.proposalNumber = proposalNumber; } /** * Gets the awardPrimaryOrganizationIndicator attribute. * * @return Returns the awardPrimaryOrganizationIndicator */ @Override public boolean isAwardPrimaryOrganizationIndicator() { return awardPrimaryOrganizationIndicator; } /** * Sets the awardPrimaryOrganizationIndicator attribute. * * @param awardPrimaryOrganizationIndicator The awardPrimaryOrganizationIndicator to set. */ public void setAwardPrimaryOrganizationIndicator(boolean awardPrimaryOrganizationIndicator) { this.awardPrimaryOrganizationIndicator = awardPrimaryOrganizationIndicator; } /** * Gets the chartOfAccounts attribute. * * @return Returns the chartOfAccounts */ @Override public Chart getChartOfAccounts() { return chartOfAccounts; } /** * Sets the chartOfAccounts attribute. * * @param chartOfAccounts The chartOfAccounts to set. * @deprecated Setter is required by OJB, but should not be used to modify this attribute. This attribute is set on the initial * creation of the object and should not be changed. */ @Deprecated public void setChartOfAccounts(Chart chartOfAccounts) { this.chartOfAccounts = chartOfAccounts; } /** * Gets the organization attribute. * * @return Returns the organization */ @Override public Organization getOrganization() { return organization; } /** * Sets the organization attribute. * * @param organization The organization to set. * @deprecated Setter is required by OJB, but should not be used to modify this attribute. This attribute is set on the initial * creation of the object and should not be changed. */ @Deprecated public void setOrganization(Organization organization) { this.organization = organization; } /** * @see Primaryable#isPrimary() */ @Override public boolean isPrimary() { return isAwardPrimaryOrganizationIndicator(); } /** * @see org.kuali.rice.core.api.mo.common.active.MutableInactivatable#isActive() */ @Override public boolean isActive() { return active; } /** * @see org.kuali.rice.core.api.mo.common.active.MutableInactivatable#setActive(boolean) */ @Override public void setActive(boolean active) { this.active = active; } /** * @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper() */ @SuppressWarnings("unchecked") protected LinkedHashMap toStringMapper_RICE20_REFACTORME() { LinkedHashMap m = new LinkedHashMap(); m.put(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE, this.chartOfAccountsCode); m.put(KFSPropertyConstants.ORGANIZATION_CODE, this.organizationCode); if (this.proposalNumber != null) { m.put(KFSPropertyConstants.PROPOSAL_NUMBER, this.proposalNumber.toString()); } return m; } }