001: /*
002: * Copyright 2006-2007 The Kuali Foundation.
003: *
004: * Licensed under the Educational Community License, Version 1.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/ecl1.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.module.cg.bo;
018:
019: import java.util.LinkedHashMap;
020:
021: import org.kuali.core.bo.Inactivateable;
022: import org.kuali.core.bo.PersistableBusinessObjectBase;
023: import org.kuali.module.chart.bo.Account;
024: import org.kuali.module.chart.bo.Chart;
025:
026: /**
027: * This class represents an association between an award and an account. It's like a reference to the account from the award. This
028: * way an award can maintain a collection of these references instead of owning accounts directly.
029: */
030: public class AwardAccount extends PersistableBusinessObjectBase
031: implements CGProjectDirector, Inactivateable {
032:
033: private Long proposalNumber;
034: private String chartOfAccountsCode;
035: private String accountNumber;
036: private String personUniversalIdentifier;
037: private boolean active = true;
038:
039: private Account account;
040: private Chart chartOfAccounts;
041: private ProjectDirector projectDirector;
042: private Award award;
043:
044: /**
045: * Default constructor.
046: */
047: public AwardAccount() {
048: // Struts needs this instance to populate the secondary key, personUserIdentifier.
049: projectDirector = new ProjectDirector();
050: }
051:
052: /**
053: * Gets the proposalNumber attribute.
054: *
055: * @return Returns the proposalNumber
056: */
057: public Long getProposalNumber() {
058: return proposalNumber;
059: }
060:
061: /**
062: * Sets the proposalNumber attribute.
063: *
064: * @param proposalNumber The proposalNumber to set.
065: */
066: public void setProposalNumber(Long proposalNumber) {
067: this .proposalNumber = proposalNumber;
068: }
069:
070: /**
071: * Gets the chartOfAccountsCode attribute.
072: *
073: * @return Returns the chartOfAccountsCode
074: */
075: public String getChartOfAccountsCode() {
076: return chartOfAccountsCode;
077: }
078:
079: /**
080: * Sets the chartOfAccountsCode attribute.
081: *
082: * @param chartOfAccountsCode The chartOfAccountsCode to set.
083: */
084: public void setChartOfAccountsCode(String chartOfAccountsCode) {
085: this .chartOfAccountsCode = chartOfAccountsCode;
086: }
087:
088: /**
089: * Gets the accountNumber attribute.
090: *
091: * @return Returns the accountNumber
092: */
093: public String getAccountNumber() {
094: return accountNumber;
095: }
096:
097: /**
098: * Sets the accountNumber attribute.
099: *
100: * @param accountNumber The accountNumber to set.
101: */
102: public void setAccountNumber(String accountNumber) {
103: this .accountNumber = accountNumber;
104: }
105:
106: /**
107: * Gets the personUniversalIdentifier attribute.
108: *
109: * @return Returns the personUniversalIdentifier
110: */
111: public String getPersonUniversalIdentifier() {
112: return personUniversalIdentifier;
113: }
114:
115: /**
116: * Sets the personUniversalIdentifier attribute.
117: *
118: * @param personUniversalIdentifier The personUniversalIdentifier to set.
119: */
120: public void setPersonUniversalIdentifier(
121: String personUniversalIdentifier) {
122: this .personUniversalIdentifier = personUniversalIdentifier;
123: }
124:
125: /**
126: * Gets the account attribute.
127: *
128: * @return Returns the account
129: */
130: public Account getAccount() {
131: return account;
132: }
133:
134: /**
135: * Sets the account attribute.
136: *
137: * @param account The account to set.
138: * @deprecated Setter is required by OJB, but should not be used to modify this attribute. This attribute is set on the initial
139: * creation of the object and should not be changed.
140: */
141: @Deprecated
142: public void setAccount(Account account) {
143: this .account = account;
144: }
145:
146: /**
147: * Gets the chartOfAccounts attribute.
148: *
149: * @return Returns the chartOfAccounts
150: */
151: public Chart getChartOfAccounts() {
152: return chartOfAccounts;
153: }
154:
155: /**
156: * Sets the chartOfAccounts attribute.
157: *
158: * @param chartOfAccounts The chartOfAccounts to set.
159: * @deprecated Setter is required by OJB, but should not be used to modify this attribute. This attribute is set on the initial
160: * creation of the object and should not be changed.
161: */
162: @Deprecated
163: public void setChartOfAccounts(Chart chartOfAccounts) {
164: this .chartOfAccounts = chartOfAccounts;
165: }
166:
167: /**
168: * Gets the project director attribute.
169: *
170: * @return Returns the projectDirector.
171: */
172: public ProjectDirector getProjectDirector() {
173: return projectDirector;
174: }
175:
176: /**
177: * Sets the project director attribute
178: *
179: * @param projectDirector The projectDirector to set.
180: * @deprecated Setter is required by OJB, but should not be used to modify this attribute. This attribute is set on the initial
181: * creation of the object and should not be changed.
182: */
183: @Deprecated
184: public void setProjectDirector(ProjectDirector projectDirector) {
185: this .projectDirector = projectDirector;
186: }
187:
188: /**
189: * @see org.kuali.core.bo.BusinessObjectBase#toStringMapper()
190: */
191: @SuppressWarnings("unchecked")
192: @Override
193: protected LinkedHashMap toStringMapper() {
194: LinkedHashMap m = new LinkedHashMap();
195: if (this .proposalNumber != null) {
196: m.put("proposalNumber", this .proposalNumber.toString());
197: }
198: m.put("chartOfAccountsCode", this .chartOfAccountsCode);
199: m.put("accountNumber", this .accountNumber);
200: return m;
201: }
202:
203: /**
204: * This method returns the Award object associated with this AwardAccount.
205: *
206: * @return The Award object associated with this AwardAccount.
207: */
208: public Award getAward() {
209: return award;
210: }
211:
212: /**
213: * This method sets the associated award to the value provided.
214: *
215: * @param award Value to be assigned to the associated Award object.
216: */
217: public void setAward(Award award) {
218: this .award = award;
219: }
220:
221: /**
222: * @see org.kuali.core.bo.Inactivateable#isActive()
223: */
224: public boolean isActive() {
225: return active;
226: }
227:
228: /**
229: * @see org.kuali.core.bo.Inactivateable#setActive(boolean)
230: */
231: public void setActive(boolean active) {
232: this .active = true;
233: }
234: }
|