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
017 package org.kuali.kfs.module.cg.businessobject;
018
019 import java.util.LinkedHashMap;
020
021 import org.kuali.kfs.coa.businessobject.Chart;
022 import org.kuali.kfs.coa.businessobject.Organization;
023 import org.kuali.rice.kns.bo.Inactivateable;
024 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
025
026 /**
027 * This class represents an association between an award and an organization. It's like a reference to the organization from the
028 * award. This way an award can maintain a collection of these references instead of owning organizations directly.
029 */
030 public class AwardOrganization extends PersistableBusinessObjectBase implements Primaryable, Inactivateable {
031
032 private String chartOfAccountsCode;
033 private String organizationCode;
034 private Long proposalNumber;
035 private boolean awardPrimaryOrganizationIndicator;
036 private boolean active = true;
037
038 private Chart chartOfAccounts;
039 private Organization organization;
040
041 /**
042 * Default no-args constructor.
043 */
044 public AwardOrganization() {
045
046 }
047
048 /**
049 * Gets the chartOfAccountsCode attribute.
050 *
051 * @return Returns the chartOfAccountsCode
052 */
053 public String getChartOfAccountsCode() {
054 return chartOfAccountsCode;
055 }
056
057 /**
058 * Sets the chartOfAccountsCode attribute.
059 *
060 * @param chartOfAccountsCode The chartOfAccountsCode to set.
061 */
062 public void setChartOfAccountsCode(String chartOfAccountsCode) {
063 this.chartOfAccountsCode = chartOfAccountsCode;
064 }
065
066 /**
067 * Gets the organizationCode attribute.
068 *
069 * @return Returns the organizationCode
070 */
071 public String getOrganizationCode() {
072 return organizationCode;
073 }
074
075 /**
076 * Sets the organizationCode attribute.
077 *
078 * @param organizationCode The organizationCode to set.
079 */
080 public void setOrganizationCode(String organizationCode) {
081 this.organizationCode = organizationCode;
082 }
083
084 /**
085 * Gets the proposalNumber attribute.
086 *
087 * @return Returns the proposalNumber
088 */
089 public Long getProposalNumber() {
090 return proposalNumber;
091 }
092
093 /**
094 * Sets the proposalNumber attribute.
095 *
096 * @param proposalNumber The proposalNumber to set.
097 */
098 public void setProposalNumber(Long proposalNumber) {
099 this.proposalNumber = proposalNumber;
100 }
101
102 /**
103 * Gets the awardPrimaryOrganizationIndicator attribute.
104 *
105 * @return Returns the awardPrimaryOrganizationIndicator
106 */
107 public boolean isAwardPrimaryOrganizationIndicator() {
108 return awardPrimaryOrganizationIndicator;
109 }
110
111 /**
112 * Sets the awardPrimaryOrganizationIndicator attribute.
113 *
114 * @param awardPrimaryOrganizationIndicator The awardPrimaryOrganizationIndicator to set.
115 */
116 public void setAwardPrimaryOrganizationIndicator(boolean awardPrimaryOrganizationIndicator) {
117 this.awardPrimaryOrganizationIndicator = awardPrimaryOrganizationIndicator;
118 }
119
120 /**
121 * Gets the chartOfAccounts attribute.
122 *
123 * @return Returns the chartOfAccounts
124 */
125 public Chart getChartOfAccounts() {
126 return chartOfAccounts;
127 }
128
129 /**
130 * Sets the chartOfAccounts attribute.
131 *
132 * @param chartOfAccounts The chartOfAccounts to set.
133 * @deprecated Setter is required by OJB, but should not be used to modify this attribute. This attribute is set on the initial
134 * creation of the object and should not be changed.
135 */
136 @Deprecated
137 public void setChartOfAccounts(Chart chartOfAccounts) {
138 this.chartOfAccounts = chartOfAccounts;
139 }
140
141 /**
142 * Gets the organization attribute.
143 *
144 * @return Returns the organization
145 */
146 public Organization getOrganization() {
147 return organization;
148 }
149
150 /**
151 * Sets the organization attribute.
152 *
153 * @param organization The organization to set.
154 * @deprecated Setter is required by OJB, but should not be used to modify this attribute. This attribute is set on the initial
155 * creation of the object and should not be changed.
156 */
157 @Deprecated
158 public void setOrganization(Organization organization) {
159 this.organization = organization;
160 }
161
162 /**
163 * @see Primaryable#isPrimary()
164 */
165 public boolean isPrimary() {
166 return isAwardPrimaryOrganizationIndicator();
167 }
168
169 /**
170 * @see org.kuali.rice.kns.bo.Inactivateable#isActive()
171 */
172 public boolean isActive() {
173 return active;
174 }
175
176 /**
177 * @see org.kuali.rice.kns.bo.Inactivateable#setActive(boolean)
178 */
179 public void setActive(boolean active) {
180 this.active = active;
181 }
182
183 /**
184 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
185 */
186 @SuppressWarnings("unchecked")
187 @Override
188 protected LinkedHashMap toStringMapper() {
189 LinkedHashMap m = new LinkedHashMap();
190 m.put("chartOfAccountsCode", this.chartOfAccountsCode);
191 m.put("organizationCode", this.organizationCode);
192 if (this.proposalNumber != null) {
193 m.put("proposalNumber", this.proposalNumber.toString());
194 }
195 return m;
196 }
197 }