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 package org.kuali.kfs.module.bc.businessobject; 017 018 import java.util.LinkedHashMap; 019 import java.util.SortedSet; 020 021 import org.kuali.kfs.module.bc.BCConstants.LockStatus; 022 import org.kuali.rice.kns.bo.TransientBusinessObjectBase; 023 024 /** 025 * This class defines a BudgetConstructionLockStatus object. This object is used by many of the methods in the Budget module's 026 * LockService as a mechanism to pass status information associated with the various types of locks. LockStatus uses enum values 027 * SUCCESS, BY_OTHER, NO_DOOR, OPTIMISTIC_EX, FLOCK_FOUND LockStatus.BY_OTHER usually means one of the *LockOwner attributes is set 028 * with the uid associated with the lock. LockStatus.FLOCK_FOUND usually means the set of fundingLocks is also defined. See the 029 * LockService methods JavaDoc for more details. 030 */ 031 public class BudgetConstructionLockStatus extends TransientBusinessObjectBase{ 032 033 private LockStatus lockStatus; 034 private String accountLockOwner; 035 private String positionLockOwner; 036 private String transactionLockOwner; 037 private SortedSet<BudgetConstructionFundingLock> fundingLocks; 038 private BudgetConstructionHeader budgetConstructionHeader; 039 040 /** 041 * Constructs a BudgetConstructionLockStatus object. 042 */ 043 public BudgetConstructionLockStatus() { 044 lockStatus = LockStatus.NO_DOOR; 045 accountLockOwner = null; 046 positionLockOwner = null; 047 fundingLocks = null; 048 transactionLockOwner = null; 049 budgetConstructionHeader = null; 050 } 051 052 /** 053 * This gets the accountLockOwner attribute 054 * 055 * @return accountLockOwner 056 */ 057 public String getAccountLockOwner() { 058 return accountLockOwner; 059 } 060 061 /** 062 * This sets the accountLockOwner attribute 063 * 064 * @param accountLockOwner 065 */ 066 public void setAccountLockOwner(String accountLockOwner) { 067 this.accountLockOwner = accountLockOwner; 068 } 069 070 /** 071 * This gets the lockStatus attribute 072 * 073 * @return lockStatus 074 */ 075 public LockStatus getLockStatus() { 076 return lockStatus; 077 } 078 079 /** 080 * This sets the lockStatus attribute 081 * 082 * @param lockStatus 083 */ 084 public void setLockStatus(LockStatus lockStatus) { 085 this.lockStatus = lockStatus; 086 } 087 088 /** 089 * This gets the positionLockOwner attribute 090 * 091 * @return positionLockOwner 092 */ 093 public String getPositionLockOwner() { 094 return positionLockOwner; 095 } 096 097 /** 098 * This gets the positionLockOwner attribute 099 * 100 * @param positionLockOwner 101 */ 102 public void setPositionLockOwner(String positionLockOwner) { 103 this.positionLockOwner = positionLockOwner; 104 } 105 106 /** 107 * This gets the fundingLocks attribute 108 * 109 * @return fundingLocks 110 */ 111 public SortedSet<BudgetConstructionFundingLock> getFundingLocks() { 112 return fundingLocks; 113 } 114 115 /** 116 * This sets the fundingLocks attribute 117 * 118 * @param fundingLocks 119 */ 120 public void setFundingLocks(SortedSet<BudgetConstructionFundingLock> fundingLocks) { 121 this.fundingLocks = fundingLocks; 122 } 123 124 /** 125 * This gets the transactionLockOwner attribute 126 * 127 * @return ansactionLockOwner 128 */ 129 public String getTransactionLockOwner() { 130 return transactionLockOwner; 131 } 132 133 /** 134 * This gets the transactionLockOwner attribute 135 * 136 * @param transactionLockOwner 137 */ 138 public void setTransactionLockOwner(String transactionLockOwner) { 139 this.transactionLockOwner = transactionLockOwner; 140 } 141 142 /** 143 * Gets the budgetConstructionHeader attribute. 144 * @return Returns the budgetConstructionHeader. 145 */ 146 public BudgetConstructionHeader getBudgetConstructionHeader() { 147 return budgetConstructionHeader; 148 } 149 150 /** 151 * Sets the budgetConstructionHeader attribute value. 152 * @param budgetConstructionHeader The budgetConstructionHeader to set. 153 */ 154 public void setBudgetConstructionHeader(BudgetConstructionHeader budgetConstructionHeader) { 155 this.budgetConstructionHeader = budgetConstructionHeader; 156 } 157 158 /** 159 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 160 */ 161 @Override 162 protected LinkedHashMap toStringMapper() { 163 LinkedHashMap<String,Object> mapper = new LinkedHashMap<String,Object>(); 164 165 mapper.put("lockStatus", this.lockStatus); 166 mapper.put("accountLockOwner", this.accountLockOwner); 167 mapper.put("positionLockOwner", this.positionLockOwner); 168 mapper.put("transactionLockOwner", this.transactionLockOwner); 169 mapper.put("fundingLocks", this.fundingLocks); 170 mapper.put("budgetConstructionHeader", this.budgetConstructionHeader); 171 172 return mapper; 173 } 174 }