001: /*
002: * Copyright 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.chart.bo;
018:
019: import java.util.ArrayList;
020: import java.util.HashMap;
021: import java.util.LinkedHashMap;
022: import java.util.List;
023: import java.util.Map;
024:
025: import org.kuali.core.bo.DocumentHeader;
026: import org.kuali.core.bo.GlobalBusinessObject;
027: import org.kuali.core.bo.GlobalBusinessObjectDetail;
028: import org.kuali.core.bo.PersistableBusinessObject;
029: import org.kuali.core.bo.PersistableBusinessObjectBase;
030: import org.kuali.core.service.BusinessObjectService;
031: import org.kuali.core.util.TypedArrayList;
032: import org.kuali.kfs.KFSPropertyConstants;
033: import org.kuali.kfs.bo.Options;
034: import org.kuali.kfs.context.SpringContext;
035: import org.kuali.module.chart.bo.codes.BudgetAggregationCode;
036: import org.kuali.module.chart.bo.codes.FederalFundedCode;
037: import org.kuali.module.chart.bo.codes.MandatoryTransferEliminationCode;
038: import org.kuali.module.chart.service.ChartService;
039:
040: /**
041: *
042: */
043: public class ObjectCodeGlobal extends PersistableBusinessObjectBase
044: implements GlobalBusinessObject {
045:
046: private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger
047: .getLogger(ObjectCodeGlobal.class);
048:
049: private String documentNumber;
050: private Integer universityFiscalYear;
051: private String chartOfAccountsCode;
052: private String financialObjectCode;
053: private String financialObjectCodeName;
054: private String financialObjectCodeShortName;
055: private String financialObjectLevelCode;
056: private String reportsToChartOfAccountsCode;
057: private String reportsToFinancialObjectCode;
058: private String financialObjectTypeCode;
059: private String financialObjectSubTypeCode;
060: private String historicalFinancialObjectCode;
061: private boolean financialObjectActiveIndicator;
062: private String financialBudgetAggregationCd;
063: private String finObjMandatoryTrnfrOrElimCd;
064: private String financialFederalFundedCode;
065: private String nextYearFinancialObjectCode;
066:
067: private DocumentHeader financialDocument;
068: private ObjectCode financialObject;
069: private ObjectCode reportsToFinancialObject;
070: private Options universityFiscal;
071: private Chart chartOfAccounts;
072: private Chart reportsToChartOfAccounts;
073: private ObjectType financialObjectType;
074: private ObjSubTyp financialObjectSubType;
075: private ObjLevel financialObjectLevel;
076: private BudgetAggregationCode financialBudgetAggregation;
077: private MandatoryTransferEliminationCode finObjMandatoryTrnfrelim;
078: private FederalFundedCode financialFederalFunded;
079:
080: private List<ObjectCodeGlobalDetail> objectCodeGlobalDetails;
081:
082: /**
083: * Default constructor.
084: */
085: public ObjectCodeGlobal() {
086:
087: objectCodeGlobalDetails = new TypedArrayList(
088: ObjectCodeGlobalDetail.class);
089:
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 universityFiscalYear attribute.
112: *
113: * @return Returns the universityFiscalYear
114: */
115: public Integer getUniversityFiscalYear() {
116: return universityFiscalYear;
117: }
118:
119: /**
120: * Sets the universityFiscalYear attribute.
121: *
122: * @param universityFiscalYear The universityFiscalYear to set.
123: */
124: public void setUniversityFiscalYear(Integer universityFiscalYear) {
125: this .universityFiscalYear = universityFiscalYear;
126: }
127:
128: /**
129: * Gets the chartOfAccountsCode attribute.
130: *
131: * @return Returns the chartOfAccountsCode
132: */
133: public String getChartOfAccountsCode() {
134: return chartOfAccountsCode;
135: }
136:
137: /**
138: * Sets the chartOfAccountsCode attribute.
139: *
140: * @param chartOfAccountsCode The chartOfAccountsCode to set.
141: */
142: public void setChartOfAccountsCode(String chartOfAccountsCode) {
143: this .chartOfAccountsCode = chartOfAccountsCode;
144: }
145:
146: /**
147: * Gets the financialObjectCode attribute.
148: *
149: * @return Returns the financialObjectCode
150: */
151: public String getFinancialObjectCode() {
152: return financialObjectCode;
153: }
154:
155: /**
156: * Sets the financialObjectCode attribute.
157: *
158: * @param financialObjectCode The financialObjectCode to set.
159: */
160: public void setFinancialObjectCode(String financialObjectCode) {
161: this .financialObjectCode = financialObjectCode;
162: }
163:
164: /**
165: * Gets the financialObjectCodeName attribute.
166: *
167: * @return Returns the financialObjectCodeName
168: */
169: public String getFinancialObjectCodeName() {
170: return financialObjectCodeName;
171: }
172:
173: /**
174: * Sets the financialObjectCodeName attribute.
175: *
176: * @param financialObjectCodeName The financialObjectCodeName to set.
177: */
178: public void setFinancialObjectCodeName(
179: String financialObjectCodeName) {
180: this .financialObjectCodeName = financialObjectCodeName;
181: }
182:
183: /**
184: * Gets the financialObjectCodeShortName attribute.
185: *
186: * @return Returns the financialObjectCodeShortName
187: */
188: public String getFinancialObjectCodeShortName() {
189: return financialObjectCodeShortName;
190: }
191:
192: /**
193: * Sets the financialObjectCodeShortName attribute.
194: *
195: * @param financialObjectCodeShortName The financialObjectCodeShortName to set.
196: */
197: public void setFinancialObjectCodeShortName(
198: String financialObjectCodeShortName) {
199: this .financialObjectCodeShortName = financialObjectCodeShortName;
200: }
201:
202: /**
203: * Gets the financialObjectLevelCode attribute.
204: *
205: * @return Returns the financialObjectLevelCode
206: */
207: public String getFinancialObjectLevelCode() {
208: return financialObjectLevelCode;
209: }
210:
211: /**
212: * Sets the financialObjectLevelCode attribute.
213: *
214: * @param financialObjectLevelCode The financialObjectLevelCode to set.
215: */
216: public void setFinancialObjectLevelCode(
217: String financialObjectLevelCode) {
218: this .financialObjectLevelCode = financialObjectLevelCode;
219: }
220:
221: /**
222: * Gets the reportsToChartOfAccountsCode attribute.
223: *
224: * @return Returns the reportsToChartOfAccountsCode
225: */
226: public String getReportsToChartOfAccountsCode() {
227: return reportsToChartOfAccountsCode;
228: }
229:
230: /**
231: * Sets the reportsToChartOfAccountsCode attribute.
232: *
233: * @param reportsToChartOfAccountsCode The reportsToChartOfAccountsCode to set.
234: */
235: public void setReportsToChartOfAccountsCode(
236: String reportsToChartOfAccountsCode) {
237: this .reportsToChartOfAccountsCode = reportsToChartOfAccountsCode;
238: }
239:
240: /**
241: * Gets the reportsToFinancialObjectCode attribute.
242: *
243: * @return Returns the reportsToFinancialObjectCode
244: */
245: public String getReportsToFinancialObjectCode() {
246: return reportsToFinancialObjectCode;
247: }
248:
249: /**
250: * Sets the reportsToFinancialObjectCode attribute.
251: *
252: * @param reportsToFinancialObjectCode The reportsToFinancialObjectCode to set.
253: */
254: public void setReportsToFinancialObjectCode(
255: String reportsToFinancialObjectCode) {
256: this .reportsToFinancialObjectCode = reportsToFinancialObjectCode;
257: }
258:
259: /**
260: * Gets the financialObjectTypeCode attribute.
261: *
262: * @return Returns the financialObjectTypeCode
263: */
264: public String getFinancialObjectTypeCode() {
265: return financialObjectTypeCode;
266: }
267:
268: /**
269: * Sets the financialObjectTypeCode attribute.
270: *
271: * @param financialObjectTypeCode The financialObjectTypeCode to set.
272: */
273: public void setFinancialObjectTypeCode(
274: String financialObjectTypeCode) {
275: this .financialObjectTypeCode = financialObjectTypeCode;
276: }
277:
278: /**
279: * Gets the financialObjectSubTypeCode attribute.
280: *
281: * @return Returns the financialObjectSubTypeCode
282: */
283: public String getFinancialObjectSubTypeCode() {
284: return financialObjectSubTypeCode;
285: }
286:
287: /**
288: * Sets the financialObjectSubTypeCode attribute.
289: *
290: * @param financialObjectSubTypeCode The financialObjectSubTypeCode to set.
291: */
292: public void setFinancialObjectSubTypeCode(
293: String financialObjectSubTypeCode) {
294: this .financialObjectSubTypeCode = financialObjectSubTypeCode;
295: }
296:
297: /**
298: * Gets the historicalFinancialObjectCode attribute.
299: *
300: * @return Returns the historicalFinancialObjectCode
301: */
302: public String getHistoricalFinancialObjectCode() {
303: return historicalFinancialObjectCode;
304: }
305:
306: /**
307: * Sets the historicalFinancialObjectCode attribute.
308: *
309: * @param historicalFinancialObjectCode The historicalFinancialObjectCode to set.
310: */
311: public void setHistoricalFinancialObjectCode(
312: String historicalFinancialObjectCode) {
313: this .historicalFinancialObjectCode = historicalFinancialObjectCode;
314: }
315:
316: /**
317: * Gets the financialObjectActiveIndicator attribute.
318: *
319: * @return Returns the financialObjectActiveIndicator
320: */
321: public boolean isFinancialObjectActiveIndicator() {
322: return financialObjectActiveIndicator;
323: }
324:
325: /**
326: * Sets the financialObjectActiveIndicator attribute.
327: *
328: * @param financialObjectActiveIndicator The financialObjectActiveIndicator to set.
329: */
330: public void setFinancialObjectActiveIndicator(
331: boolean financialObjectActiveIndicator) {
332: this .financialObjectActiveIndicator = financialObjectActiveIndicator;
333: }
334:
335: /**
336: * Gets the financialBudgetAggregationCd attribute.
337: *
338: * @return Returns the financialBudgetAggregationCd
339: */
340: public String getFinancialBudgetAggregationCd() {
341: return financialBudgetAggregationCd;
342: }
343:
344: /**
345: * Sets the financialBudgetAggregationCd attribute.
346: *
347: * @param financialBudgetAggregationCd The financialBudgetAggregationCd to set.
348: */
349: public void setFinancialBudgetAggregationCd(
350: String financialBudgetAggregationCd) {
351: this .financialBudgetAggregationCd = financialBudgetAggregationCd;
352: }
353:
354: /**
355: * Gets the finObjMandatoryTrnfrOrElimCd attribute.
356: *
357: * @return Returns the finObjMandatoryTrnfrOrElimCd
358: */
359: public String getFinObjMandatoryTrnfrOrElimCd() {
360: return finObjMandatoryTrnfrOrElimCd;
361: }
362:
363: /**
364: * Sets the finObjMandatoryTrnfrOrElimCd attribute.
365: *
366: * @param finObjMandatoryTrnfrOrElimCd The finObjMandatoryTrnfrOrElimCd to set.
367: */
368: public void setFinObjMandatoryTrnfrOrElimCd(
369: String finObjMandatoryTrnfrOrElimCd) {
370: this .finObjMandatoryTrnfrOrElimCd = finObjMandatoryTrnfrOrElimCd;
371: }
372:
373: /**
374: * Gets the financialFederalFundedCode attribute.
375: *
376: * @return Returns the financialFederalFundedCode
377: */
378: public String getFinancialFederalFundedCode() {
379: return financialFederalFundedCode;
380: }
381:
382: /**
383: * Sets the financialFederalFundedCode attribute.
384: *
385: * @param financialFederalFundedCode The financialFederalFundedCode to set.
386: */
387: public void setFinancialFederalFundedCode(
388: String financialFederalFundedCode) {
389: this .financialFederalFundedCode = financialFederalFundedCode;
390: }
391:
392: /**
393: * Gets the nextYearFinancialObjectCode attribute.
394: *
395: * @return Returns the nextYearFinancialObjectCode
396: */
397: public String getNextYearFinancialObjectCode() {
398: return nextYearFinancialObjectCode;
399: }
400:
401: /**
402: * Sets the nextYearFinancialObjectCode attribute.
403: *
404: * @param nextYearFinancialObjectCode The nextYearFinancialObjectCode to set.
405: */
406: public void setNextYearFinancialObjectCode(
407: String nextYearFinancialObjectCode) {
408: this .nextYearFinancialObjectCode = nextYearFinancialObjectCode;
409: }
410:
411: /**
412: * Gets the financialDocument attribute.
413: *
414: * @return Returns the financialDocument
415: */
416: public DocumentHeader getFinancialDocument() {
417: return financialDocument;
418: }
419:
420: /**
421: * Sets the financialDocument attribute.
422: *
423: * @param financialDocument The financialDocument to set.
424: * @deprecated
425: */
426: public void setFinancialDocument(DocumentHeader financialDocument) {
427: this .financialDocument = financialDocument;
428: }
429:
430: /**
431: * Gets the financialObject attribute.
432: *
433: * @return Returns the financialObject
434: */
435: public ObjectCode getFinancialObject() {
436: return financialObject;
437: }
438:
439: /**
440: * Sets the financialObject attribute.
441: *
442: * @param financialObject The financialObject to set.
443: * @deprecated
444: */
445: public void setFinancialObject(ObjectCode financialObject) {
446: this .financialObject = financialObject;
447: }
448:
449: /**
450: * Gets the reportsToFinancialObject attribute.
451: *
452: * @return Returns the reportsToFinancialObject
453: */
454: public ObjectCode getReportsToFinancialObject() {
455: return reportsToFinancialObject;
456: }
457:
458: /**
459: * Sets the reportsToFinancialObject attribute.
460: *
461: * @param reportsToFinancialObject The reportsToFinancialObject to set.
462: * @deprecated
463: */
464: public void setReportsToFinancialObject(
465: ObjectCode reportsToFinancialObject) {
466: this .reportsToFinancialObject = reportsToFinancialObject;
467: }
468:
469: /**
470: * Gets the universityFiscal attribute.
471: *
472: * @return Returns the universityFiscal
473: */
474: public Options getUniversityFiscal() {
475: return universityFiscal;
476: }
477:
478: /**
479: * Sets the universityFiscal attribute.
480: *
481: * @param universityFiscal The universityFiscal to set.
482: * @deprecated
483: */
484: public void setUniversityFiscal(Options universityFiscal) {
485: this .universityFiscal = universityFiscal;
486: }
487:
488: /**
489: * Gets the chartOfAccounts attribute.
490: *
491: * @return Returns the chartOfAccounts
492: */
493: public Chart getChartOfAccounts() {
494: return chartOfAccounts;
495: }
496:
497: /**
498: * Sets the chartOfAccounts attribute.
499: *
500: * @param chartOfAccounts The chartOfAccounts to set.
501: * @deprecated
502: */
503: public void setChartOfAccounts(Chart chartOfAccounts) {
504: this .chartOfAccounts = chartOfAccounts;
505: }
506:
507: /**
508: * Gets the reportsToChartOfAccounts attribute.
509: *
510: * @return Returns the reportsToChartOfAccounts
511: */
512: public Chart getReportsToChartOfAccounts() {
513: return reportsToChartOfAccounts;
514: }
515:
516: /**
517: * Sets the reportsToChartOfAccounts attribute.
518: *
519: * @param reportsToChartOfAccounts The reportsToChartOfAccounts to set.
520: * @deprecated
521: */
522: public void setReportsToChartOfAccounts(
523: Chart reportsToChartOfAccounts) {
524: this .reportsToChartOfAccounts = reportsToChartOfAccounts;
525: }
526:
527: /**
528: * This method returns the FinancialObjectSubType attribute.
529: *
530: * @return Returns FinancialObjectSubType attribute.
531: */
532: public ObjSubTyp getFinancialObjectSubType() {
533: return financialObjectSubType;
534: }
535:
536: /**
537: * This method sets the FinancialObjectSubType attribute.
538: *
539: * @param financialObjectSubType The financialObjectSubType to set.
540: * @deprecated
541: */
542: public void setFinancialObjectSubType(
543: ObjSubTyp financialObjectSubType) {
544: this .financialObjectSubType = financialObjectSubType;
545: }
546:
547: /**
548: * This method returns the FinancialObjectType
549: *
550: * @return an ObjectType for this ObjectCodeGlobal.
551: */
552: public ObjectType getFinancialObjectType() {
553: return financialObjectType;
554: }
555:
556: /**
557: * This method sets a FinancialObjectType
558: *
559: * @param financialObjectType the ObjectType to set.
560: * @deprecated
561: */
562: public void setFinancialObjectType(ObjectType financialObjectType) {
563: this .financialObjectType = financialObjectType;
564: }
565:
566: /**
567: * This method returns the FinancialBudgetAggregation
568: *
569: * @return the FinancialBudgetAggregation
570: */
571: public BudgetAggregationCode getFinancialBudgetAggregation() {
572: return financialBudgetAggregation;
573: }
574:
575: /**
576: * This method sets a FinancialBudgetAggregation
577: *
578: * @param financialBudgetAggregation the BudgetAggregationCode to set
579: * @deprecated
580: */
581: public void setFinancialBudgetAggregation(
582: BudgetAggregationCode financialBudgetAggregation) {
583: this .financialBudgetAggregation = financialBudgetAggregation;
584: }
585:
586: /**
587: * This method the financial federal funded code for this ObjectCodeGlobal
588: *
589: * @return the Federal Funded Code
590: */
591: public FederalFundedCode getFinancialFederalFunded() {
592: return financialFederalFunded;
593: }
594:
595: /**
596: * This method sets FinancialFederalFunded
597: *
598: * @param financialFederalFunded the FederalFundedCode to set
599: * @deprecated
600: */
601: public void setFinancialFederalFunded(
602: FederalFundedCode financialFederalFunded) {
603: this .financialFederalFunded = financialFederalFunded;
604: }
605:
606: /**
607: * This method returns the Object Level
608: *
609: * @return ObjectLevel
610: */
611: public ObjLevel getFinancialObjectLevel() {
612: return financialObjectLevel;
613: }
614:
615: /**
616: * This method sets the FinancialObjectLevel
617: *
618: * @param financialObjectLevel the ObjLevel to set
619: * @deprecated
620: */
621: public void setFinancialObjectLevel(ObjLevel financialObjectLevel) {
622: this .financialObjectLevel = financialObjectLevel;
623: }
624:
625: /**
626: * This method returns the Mandatory Transfer or Elimination Code
627: *
628: * @return the MandatoryTransferEliminationCode
629: */
630: public MandatoryTransferEliminationCode getFinObjMandatoryTrnfrelim() {
631: return finObjMandatoryTrnfrelim;
632: }
633:
634: /**
635: * This method pretty much sets the FinObjMandatoryTrnfrelm (the Mandatory Transfer or Elimination Code)
636: *
637: * @param finObjMandatoryTrnfrelim the MandatoryTransferEliminationCode to set
638: * @deprecated
639: */
640: public void setFinObjMandatoryTrnfrelim(
641: MandatoryTransferEliminationCode finObjMandatoryTrnfrelim) {
642: this .finObjMandatoryTrnfrelim = finObjMandatoryTrnfrelim;
643: }
644:
645: /**
646: * @see org.kuali.core.bo.BusinessObjectBase#toStringMapper()
647: */
648: protected LinkedHashMap toStringMapper() {
649: LinkedHashMap m = new LinkedHashMap();
650: m
651: .put(KFSPropertyConstants.DOCUMENT_NUMBER,
652: this .documentNumber);
653: return m;
654: }
655:
656: public List<ObjectCodeGlobalDetail> getObjectCodeGlobalDetails() {
657: return objectCodeGlobalDetails;
658: }
659:
660: public void setObjectCodeGlobalDetails(
661: List<ObjectCodeGlobalDetail> objectCodeGlobalDetails) {
662: this .objectCodeGlobalDetails = objectCodeGlobalDetails;
663: }
664:
665: /**
666: * @see org.kuali.core.document.GlobalBusinessObject#getGlobalChangesToDelete()
667: */
668: public List<PersistableBusinessObject> generateDeactivationsToPersist() {
669: return null;
670: }
671:
672: /**
673: * This returns a list of Object Codes to Update and/or Add
674: *
675: * @see org.kuali.core.document.GlobalBusinessObject#applyGlobalChanges()
676: */
677: public List<PersistableBusinessObject> generateGlobalChangesToPersist() {
678: LOG.debug("applyGlobalChanges");
679: List result = new ArrayList();
680:
681: // Iterate through Object Codes; create new or update as necessary
682: // Set reports-to Chart to appropriate value
683:
684: for (ObjectCodeGlobalDetail detail : objectCodeGlobalDetails) {
685:
686: Map pk = new HashMap();
687:
688: Integer fiscalYear = detail.getUniversityFiscalYear();
689: String chart = detail.getChartOfAccountsCode();
690:
691: if (fiscalYear != null && chart != null
692: && chart.length() > 0) {
693: pk.put("UNIV_FISCAL_YR", fiscalYear);
694: pk.put("FIN_COA_CD", chart);
695: pk.put("FIN_OBJECT_CD", financialObjectCode);
696:
697: ObjectCode objectCode = (ObjectCode) SpringContext
698: .getBean(BusinessObjectService.class)
699: .findByPrimaryKey(ObjectCode.class, pk);
700: if (objectCode == null) {
701: objectCode = new ObjectCode(fiscalYear, chart,
702: financialObjectCode);
703: objectCode.setFinancialObjectActiveCode(true);
704: }
705: populate(objectCode, detail);
706: Map<String, String> hierarchy = SpringContext.getBean(
707: ChartService.class).getReportsToHierarchy();
708: objectCode.setReportsToChartOfAccountsCode(hierarchy
709: .get(chart));
710:
711: result.add(objectCode);
712: }
713: }
714:
715: return result;
716: }
717:
718: public void populate(ObjectCode old, ObjectCodeGlobalDetail detail) {
719:
720: old.setFinancialObjectCodeName(update(financialObjectCodeName,
721: old.getFinancialObjectCodeName()));
722: old.setFinancialObjectCodeShortName(update(
723: financialObjectCodeShortName, old
724: .getFinancialObjectCodeShortName()));
725:
726: old.setFinancialObjectLevelCode(update(
727: financialObjectLevelCode, old
728: .getFinancialObjectLevelCode()));
729: old.setFinancialObjectTypeCode(update(financialObjectTypeCode,
730: old.getFinancialObjectTypeCode()));
731: old.setFinancialObjectSubTypeCode(update(
732: financialObjectSubTypeCode, old
733: .getFinancialObjectSubTypeCode()));
734: old.setHistoricalFinancialObjectCode(update(
735: historicalFinancialObjectCode, old
736: .getHistoricalFinancialObjectCode()));
737: old.setFinancialObjectActiveCode(update(
738: financialObjectActiveIndicator, old
739: .isFinancialObjectActiveCode()));
740: old.setFinancialBudgetAggregationCd(update(
741: financialBudgetAggregationCd, old
742: .getFinancialBudgetAggregationCd()));
743: old.setFinObjMandatoryTrnfrelimCd(update(
744: finObjMandatoryTrnfrOrElimCd, old
745: .getFinObjMandatoryTrnfrelimCd()));
746: old.setFinancialFederalFundedCode(update(
747: financialFederalFundedCode, old
748: .getFinancialFederalFundedCode()));
749: old.setNextYearFinancialObjectCode(update(
750: nextYearFinancialObjectCode, old
751: .getNextYearFinancialObjectCode()));
752:
753: }
754:
755: /**
756: * This method returns newvalue iff it is not empty
757: *
758: * @param oldValue
759: * @param newValue
760: * @return
761: */
762: private String update(String newValue, String oldValue) {
763: if (newValue == null || newValue.length() == 0) {
764: return oldValue;
765: }
766: return newValue;
767: }
768:
769: private boolean update(boolean oldValue, boolean newValue) {
770: return newValue;
771: }
772:
773: public boolean isPersistable() {
774: return true;
775: }
776:
777: public List<? extends GlobalBusinessObjectDetail> getAllDetailObjects() {
778: return getObjectCodeGlobalDetails();
779: }
780:
781: /**
782: * @see org.kuali.core.bo.PersistableBusinessObjectBase#buildListOfDeletionAwareLists()
783: */
784: @Override
785: public List buildListOfDeletionAwareLists() {
786: List<List> managedLists = super.buildListOfDeletionAwareLists();
787:
788: managedLists.add(getObjectCodeGlobalDetails());
789:
790: return managedLists;
791: }
792: }
|