/** This method updates the category amount keys for the current unit of work */
 public void cascadeCategoryAmountKeys() {
   for (String category : amounts.keySet()) {
     OrgReversionUnitOfWorkCategoryAmount catAmt = amounts.get(category);
     catAmt.setChartOfAccountsCode(this.chartOfAccountsCode);
     catAmt.setAccountNumber(this.accountNumber);
     catAmt.setSubAccountNumber(this.subAccountNumber);
   }
 }
 public KualiDecimal getTotalAccountAvailable() {
   KualiDecimal amount = KualiDecimal.ZERO;
   for (Iterator<OrgReversionUnitOfWorkCategoryAmount> iter = amounts.values().iterator();
       iter.hasNext(); ) {
     OrgReversionUnitOfWorkCategoryAmount element = iter.next();
     amount = amount.add(element.getAvailable());
   }
   return amount;
 }
  /** This method clears all amounts for this unit of work */
  public void clearAmounts() {
    totalAvailable = KualiDecimal.ZERO;
    totalCarryForward = KualiDecimal.ZERO;
    totalCash = KualiDecimal.ZERO;
    totalReversion = KualiDecimal.ZERO;

    for (Iterator<OrgReversionUnitOfWorkCategoryAmount> iter = amounts.values().iterator();
        iter.hasNext(); ) {
      OrgReversionUnitOfWorkCategoryAmount element = iter.next();
      element.setActual(KualiDecimal.ZERO);
      element.setBudget(KualiDecimal.ZERO);
      element.setEncumbrance(KualiDecimal.ZERO);
    }
  }
 /**
  * This method adds to the actual amount for a specific category code
  *
  * @param categoryCode category code
  * @param amount amount
  */
 public void addActualAmount(String categoryCode, KualiDecimal amount) {
   OrgReversionUnitOfWorkCategoryAmount ca = amounts.get(categoryCode);
   ca.setActual(ca.getActual().add(amount));
 }
 /**
  * This method adds to the carry forward amount for a specific category code
  *
  * @param categoryCode category code
  * @param amount amount
  */
 public void addCarryForwardAmount(String categoryCode, KualiDecimal amount) {
   OrgReversionUnitOfWorkCategoryAmount ca = amounts.get(categoryCode);
   ca.setCarryForward(ca.getCarryForward().add(amount));
 }
 /**
  * This method adds to the encumbrance amount for a specific category code
  *
  * @param categoryCode category code
  * @param amount amount
  */
 public void addEncumbranceAmount(String categoryCode, KualiDecimal amount) {
   OrgReversionUnitOfWorkCategoryAmount ca = amounts.get(categoryCode);
   ca.setEncumbrance(ca.getEncumbrance().add(amount));
 }