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.kra.budget.bo;
018:
019: import java.util.LinkedHashMap;
020:
021: import org.kuali.core.bo.PersistableBusinessObjectBase;
022: import org.kuali.core.util.KualiDecimal;
023: import org.kuali.core.util.KualiInteger;
024:
025: /**
026: *
027: */
028: public class BudgetTaskPeriodIndirectCost extends
029: PersistableBusinessObjectBase implements Comparable {
030:
031: private String documentNumber; // RDOC_NBR
032: private Integer budgetTaskSequenceNumber; // BDGT_TSK_SEQ_NBR
033: private Integer budgetPeriodSequenceNumber; // BDGT_PRD_SEQ_NBR
034: private KualiDecimal budgetManualIndirectCostRate; // BDGT_MAN_IDC_RT
035: private KualiInteger budgetManualMtdcAmount; // BDGT_MAN_MTDC_AMT
036:
037: private BudgetTask task; // BudgetTask associated with this taskPeriodLine.
038: private BudgetPeriod period; // BudgetPeriod associated with this taskPeriodLine.
039:
040: /**
041: * For more information on how these values are used, see the impl.
042: *
043: * @see org.kuali.module.kra.budget.service.impl.BudgetIndirectCostServiceImpl
044: */
045: private KualiInteger totalDirectCost; // Calcluated totalDirectCost for this taskPeriod.
046: private KualiInteger baseCost; // Calculated baseCost for this taskPeriod.
047: private KualiDecimal indirectCostRate; // IDC rate used to calculate calculatedIndirectCost.
048: private KualiInteger calculatedIndirectCost; // Calculated indirectCost for this taskPeriod.
049: private KualiInteger costShareBaseCost; // Calculated cost share baseCost for this taskPeriod.
050: private KualiDecimal costShareIndirectCostRate; // IDC rate used to calculate cost share calculatedIndirectCost.
051: private KualiInteger costShareCalculatedIndirectCost; // Calculated cost share indirect cost.
052: private KualiInteger costShareUnrecoveredIndirectCost; // Difference between calculated idc.
053:
054: /**
055: * Default no-arg constructor.
056: */
057: public BudgetTaskPeriodIndirectCost() {
058: super ();
059:
060: // Set our totals to zero by default.
061: this .setTotalDirectCost(new KualiInteger(0));
062: this .setBaseCost(new KualiInteger(0));
063: this .setCalculatedIndirectCost(new KualiInteger(0));
064:
065: this .setCostShareBaseCost(new KualiInteger(0));
066: this .setCostShareCalculatedIndirectCost(new KualiInteger(0));
067: this .setCostShareIndirectCostRate(new KualiDecimal(0));
068: this .setCostShareUnrecoveredIndirectCost(new KualiInteger(0));
069:
070: this .setBudgetManualIndirectCostRate(new KualiDecimal(0));
071: this .setBudgetManualMtdcAmount(new KualiInteger(0));
072: }
073:
074: public BudgetTaskPeriodIndirectCost(
075: BudgetTaskPeriodIndirectCost template) {
076: this ();
077:
078: this .documentNumber = template.getDocumentNumber();
079: this .budgetTaskSequenceNumber = template
080: .getBudgetTaskSequenceNumber();
081: this .budgetPeriodSequenceNumber = template
082: .getBudgetPeriodSequenceNumber();
083: this .budgetManualIndirectCostRate = template
084: .getBudgetManualIndirectCostRate();
085: this .budgetManualMtdcAmount = template
086: .getBudgetManualMtdcAmount();
087:
088: this .task = new BudgetTask(template.getTask());
089: this .period = new BudgetPeriod(template.getPeriod());
090: }
091:
092: /**
093: * Gets the documentNumber attribute.
094: *
095: * @return Returns the documentNumber
096: */
097: public String getDocumentNumber() {
098: return documentNumber;
099: }
100:
101: /**
102: * Sets the documentNumber attribute.
103: *
104: * @param documentNumber The documentNumber to set.
105: */
106: public void setDocumentNumber(String documentNumber) {
107: this .documentNumber = documentNumber;
108: }
109:
110: /**
111: * Gets the budgetTaskSequenceNumber attribute.
112: *
113: * @return Returns the budgetTaskSequenceNumber
114: */
115: public Integer getBudgetTaskSequenceNumber() {
116: return budgetTaskSequenceNumber;
117: }
118:
119: /**
120: * Sets the budgetTaskSequenceNumber attribute.
121: *
122: * @param budgetTaskSequenceNumber The budgetTaskSequenceNumber to set.
123: */
124: public void setBudgetTaskSequenceNumber(
125: Integer budgetTaskSequenceNumber) {
126: this .budgetTaskSequenceNumber = budgetTaskSequenceNumber;
127: }
128:
129: /**
130: * Gets the budgetPeriodSequenceNumber attribute.
131: *
132: * @return Returns the budgetPeriodSequenceNumber
133: */
134: public Integer getBudgetPeriodSequenceNumber() {
135: return budgetPeriodSequenceNumber;
136: }
137:
138: /**
139: * Sets the budgetPeriodSequenceNumber attribute.
140: *
141: * @param budgetPeriodSequenceNumber The budgetPeriodSequenceNumber to set.
142: */
143: public void setBudgetPeriodSequenceNumber(
144: Integer budgetPeriodSequenceNumber) {
145: this .budgetPeriodSequenceNumber = budgetPeriodSequenceNumber;
146: }
147:
148: /**
149: * Gets the budgetManualIndirectCostRate attribute.
150: *
151: * @return Returns the budgetManualIndirectCostRate
152: */
153: public KualiDecimal getBudgetManualIndirectCostRate() {
154: return budgetManualIndirectCostRate;
155: }
156:
157: /**
158: * Sets the budgetManualIndirectCostRate attribute.
159: *
160: * @param budgetManualIndirectCostRate The budgetManualIndirectCostRate to set.
161: */
162: public void setBudgetManualIndirectCostRate(
163: KualiDecimal budgetManualIndirectCostRate) {
164: this .budgetManualIndirectCostRate = budgetManualIndirectCostRate;
165: }
166:
167: /**
168: * Gets the budgetManualMtdcAmount attribute.
169: *
170: * @return Returns the budgetManualMtdcAmount
171: */
172: public KualiInteger getBudgetManualMtdcAmount() {
173: return budgetManualMtdcAmount;
174: }
175:
176: /**
177: * Sets the budgetManualMtdcAmount attribute.
178: *
179: * @param budgetManualMtdcAmount The budgetManualMtdcAmount to set.
180: */
181: public void setBudgetManualMtdcAmount(
182: KualiInteger budgetManualMtdcAmount) {
183: this .budgetManualMtdcAmount = budgetManualMtdcAmount;
184: }
185:
186: /**
187: * @see org.kuali.core.bo.BusinessObjectBase#toStringMapper()
188: */
189: protected LinkedHashMap toStringMapper() {
190: LinkedHashMap m = new LinkedHashMap();
191:
192: // m.put("<unique identifier 1>", this.<UniqueIdentifier1>());
193: // m.put("<unique identifier 2>", this.<UniqueIdentifier2>());
194:
195: return m;
196: }
197:
198: public BudgetPeriod getPeriod() {
199: return period;
200: }
201:
202: public void setPeriod(BudgetPeriod period) {
203: this .period = period;
204: }
205:
206: public BudgetTask getTask() {
207: return task;
208: }
209:
210: public void setTask(BudgetTask task) {
211: this .task = task;
212: }
213:
214: /**
215: * @see java.lang.Comparable#compareTo(java.lang.Object)
216: */
217: public int compareTo(Object o) {
218: BudgetTaskPeriodIndirectCost taskPeriodLine = (BudgetTaskPeriodIndirectCost) o;
219: return new Integer(this .budgetTaskSequenceNumber.toString()
220: + this .budgetPeriodSequenceNumber.toString())
221: .compareTo(new Integer(taskPeriodLine
222: .getBudgetTaskSequenceNumber().toString()
223: + taskPeriodLine
224: .getBudgetPeriodSequenceNumber()
225: .toString()));
226: }
227:
228: /**
229: * @return Returns the baseCost.
230: */
231: public KualiInteger getBaseCost() {
232: return baseCost;
233: }
234:
235: /**
236: * @param baseCost The baseCost to set.
237: */
238: public void setBaseCost(KualiInteger baseCost) {
239: this .baseCost = baseCost;
240: }
241:
242: /**
243: * @return Returns the calculatedIndirectCost.
244: */
245: public KualiInteger getCalculatedIndirectCost() {
246: return calculatedIndirectCost;
247: }
248:
249: /**
250: * @param calculatedIndirectCost The calculatedIndirectCost to set.
251: */
252: public void setCalculatedIndirectCost(
253: KualiInteger calculatedIndirectCost) {
254: this .calculatedIndirectCost = calculatedIndirectCost;
255: }
256:
257: /**
258: * @return Returns the totalDirectCost.
259: */
260: public KualiInteger getTotalDirectCost() {
261: return totalDirectCost;
262: }
263:
264: /**
265: * @param totalDirectCost The totalDirectCost to set.
266: */
267: public void setTotalDirectCost(KualiInteger totalDirectCost) {
268: this .totalDirectCost = totalDirectCost;
269: }
270:
271: /**
272: * @return Returns the indirectCostRate.
273: */
274: public KualiDecimal getIndirectCostRate() {
275: return indirectCostRate;
276: }
277:
278: /**
279: * @param indirectCostRate The indirectCostRate to set.
280: */
281: public void setIndirectCostRate(KualiDecimal indirectCostRate) {
282: this .indirectCostRate = indirectCostRate;
283: }
284:
285: /**
286: * @return Returns the costShareBaseCost.
287: */
288: public KualiInteger getCostShareBaseCost() {
289: return costShareBaseCost;
290: }
291:
292: /**
293: * @param costShareBaseCost The costShareBaseCost to set.
294: */
295: public void setCostShareBaseCost(KualiInteger costShareBaseCost) {
296: this .costShareBaseCost = costShareBaseCost;
297: }
298:
299: /**
300: * @return Returns the costShareIndirectCostRate.
301: */
302: public KualiDecimal getCostShareIndirectCostRate() {
303: return costShareIndirectCostRate;
304: }
305:
306: /**
307: * @param costShareIndirectCostRate The costShareIndirectCostRate to set.
308: */
309: public void setCostShareIndirectCostRate(
310: KualiDecimal costShareIndirectCostRate) {
311: this .costShareIndirectCostRate = costShareIndirectCostRate;
312: }
313:
314: /**
315: * @return Returns the costShareUnrecoveredIndirectCost.
316: */
317: public KualiInteger getCostShareUnrecoveredIndirectCost() {
318: return costShareUnrecoveredIndirectCost;
319: }
320:
321: /**
322: * @param costShareUnrecoveredIndirectCost The costShareUnrecoveredIndirectCost to set.
323: */
324: public void setCostShareUnrecoveredIndirectCost(
325: KualiInteger costShareUnrecoveredIndirectCost) {
326: this .costShareUnrecoveredIndirectCost = costShareUnrecoveredIndirectCost;
327: }
328:
329: /**
330: * @return Returns the costShareCalculatedIndirectCost.
331: */
332: public KualiInteger getCostShareCalculatedIndirectCost() {
333: return costShareCalculatedIndirectCost;
334: }
335:
336: /**
337: * @param costShareCalculatedIndirectCost The costShareCalculatedIndirectCost to set.
338: */
339: public void setCostShareCalculatedIndirectCost(
340: KualiInteger costShareCalculatedIndirectCost) {
341: this.costShareCalculatedIndirectCost = costShareCalculatedIndirectCost;
342: }
343: }
|