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    
017    package org.kuali.kfs.module.bc.businessobject;
018    
019    import java.util.LinkedHashMap;
020    
021    import org.kuali.kfs.coa.businessobject.Chart;
022    import org.kuali.kfs.coa.businessobject.Organization;
023    import org.kuali.kfs.module.bc.document.service.BudgetConstructionOrganizationReportsService;
024    import org.kuali.kfs.sys.context.SpringContext;
025    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
026    
027    /**
028     * 
029     */
030    public class BudgetConstructionPullup extends PersistableBusinessObjectBase {
031    
032        private String chartOfAccountsCode;
033        private String organizationCode;
034        private String reportsToChartOfAccountsCode;
035        private String reportsToOrganizationCode;
036        private Integer pullFlag;
037        private String principalId;
038    
039        public boolean isLeaf;
040    
041        private Chart chartOfAccounts;
042        private Organization organization;
043        private Organization reportsToOrganization;
044        private Chart reportsToChartOfAccounts;
045    
046        /**
047         * Default constructor.
048         */
049        public BudgetConstructionPullup() {
050            pullFlag = new Integer(0);
051        }
052    
053        /**
054         * Gets the chartOfAccountsCode attribute.
055         * 
056         * @return Returns the chartOfAccountsCode
057         */
058        public String getChartOfAccountsCode() {
059            return chartOfAccountsCode;
060        }
061    
062        /**
063         * Sets the chartOfAccountsCode attribute.
064         * 
065         * @param chartOfAccountsCode The chartOfAccountsCode to set.
066         */
067        public void setChartOfAccountsCode(String chartOfAccountsCode) {
068            this.chartOfAccountsCode = chartOfAccountsCode;
069        }
070    
071    
072        /**
073         * Gets the organizationCode attribute.
074         * 
075         * @return Returns the organizationCode
076         */
077        public String getOrganizationCode() {
078            return organizationCode;
079        }
080    
081        /**
082         * Sets the organizationCode attribute.
083         * 
084         * @param organizationCode The organizationCode to set.
085         */
086        public void setOrganizationCode(String organizationCode) {
087            this.organizationCode = organizationCode;
088        }
089    
090    
091        /**
092         * Gets the reportsToChartOfAccountsCode attribute.
093         * 
094         * @return Returns the reportsToChartOfAccountsCode
095         */
096        public String getReportsToChartOfAccountsCode() {
097            return reportsToChartOfAccountsCode;
098        }
099    
100        /**
101         * Sets the reportsToChartOfAccountsCode attribute.
102         * 
103         * @param reportsToChartOfAccountsCode The reportsToChartOfAccountsCode to set.
104         */
105        public void setReportsToChartOfAccountsCode(String reportsToChartOfAccountsCode) {
106            this.reportsToChartOfAccountsCode = reportsToChartOfAccountsCode;
107        }
108    
109    
110        /**
111         * Gets the reportsToOrganizationCode attribute.
112         * 
113         * @return Returns the reportsToOrganizationCode
114         */
115        public String getReportsToOrganizationCode() {
116            return reportsToOrganizationCode;
117        }
118    
119        /**
120         * Sets the reportsToOrganizationCode attribute.
121         * 
122         * @param reportsToOrganizationCode The reportsToOrganizationCode to set.
123         */
124        public void setReportsToOrganizationCode(String reportsToOrganizationCode) {
125            this.reportsToOrganizationCode = reportsToOrganizationCode;
126        }
127    
128    
129        /**
130         * Gets the pullFlag attribute.
131         * 
132         * @return Returns the pullFlag
133         */
134        public Integer getPullFlag() {
135            return pullFlag;
136        }
137    
138        /**
139         * Sets the pullFlag attribute.
140         * 
141         * @param pullFlag The pullFlag to set.
142         */
143        public void setPullFlag(Integer pullFlag) {
144            this.pullFlag = pullFlag;
145        }
146    
147    
148        /**
149         * Gets the principalId attribute.
150         * 
151         * @return Returns the principalId.
152         */
153        public String getPrincipalId() {
154            return principalId;
155        }
156    
157        /**
158         * Sets the principalId attribute value.
159         * 
160         * @param principalId The principalId to set.
161         */
162        public void setPrincipalId(String principalId) {
163            this.principalId = principalId;
164        }
165    
166        /**
167         * Gets the isLeaf attribute.
168         * 
169         * @return Returns the isLeaf.
170         */
171        public boolean isLeaf() {
172            return SpringContext.getBean(BudgetConstructionOrganizationReportsService.class).isLeafOrg(this.chartOfAccountsCode, this.organizationCode);
173        }
174    
175        /**
176         * Gets the chartOfAccounts attribute.
177         * 
178         * @return Returns the chartOfAccounts
179         */
180        public Chart getChartOfAccounts() {
181            return chartOfAccounts;
182        }
183    
184        /**
185         * Sets the chartOfAccounts attribute.
186         * 
187         * @param chartOfAccounts The chartOfAccounts to set.
188         * @deprecated
189         */
190        public void setChartOfAccounts(Chart chartOfAccounts) {
191            this.chartOfAccounts = chartOfAccounts;
192        }
193    
194        /**
195         * Gets the organization attribute.
196         * 
197         * @return Returns the organization
198         */
199        public Organization getOrganization() {
200            return organization;
201        }
202    
203        /**
204         * Sets the organization attribute.
205         * 
206         * @param organization The organization to set.
207         * @deprecated
208         */
209        public void setOrganization(Organization organization) {
210            this.organization = organization;
211        }
212    
213        /**
214         * Gets the reportsToOrganization attribute.
215         * 
216         * @return Returns the reportsToOrganization
217         */
218        public Organization getReportsToOrganization() {
219            return reportsToOrganization;
220        }
221    
222        /**
223         * Sets the reportsToOrganization attribute.
224         * 
225         * @param reportsToOrganization The reportsToOrganization to set.
226         * @deprecated
227         */
228        public void setReportsToOrganization(Organization reportsToOrganization) {
229            this.reportsToOrganization = reportsToOrganization;
230        }
231    
232        /**
233         * Gets the reportsToChartOfAccounts attribute.
234         * 
235         * @return Returns the reportsToChartOfAccounts
236         */
237        public Chart getReportsToChartOfAccounts() {
238            return reportsToChartOfAccounts;
239        }
240    
241        /**
242         * Sets the reportsToChartOfAccounts attribute.
243         * 
244         * @param reportsToChartOfAccounts The reportsToChartOfAccounts to set.
245         * @deprecated
246         */
247        public void setReportsToChartOfAccounts(Chart reportsToChartOfAccounts) {
248            this.reportsToChartOfAccounts = reportsToChartOfAccounts;
249        }
250        
251        /**
252         * @see java.lang.Object#equals(java.lang.Object)
253         */
254        @Override
255        public boolean equals(Object obj) {
256            boolean isEqual = true;
257            if (obj == null || !(obj instanceof BudgetConstructionPullup)) {
258                isEqual = false;
259            }
260            else {
261                if (!this.toString().equals(obj.toString())) {
262                   isEqual = false; 
263                }
264            }
265            
266            return isEqual;
267        }
268    
269        /**
270         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
271         */
272        protected LinkedHashMap toStringMapper() {
273            LinkedHashMap m = new LinkedHashMap();
274            m.put("principalId", this.principalId);
275            m.put("chartOfAccountsCode", this.chartOfAccountsCode);
276            m.put("organizationCode", this.organizationCode);
277            return m;
278        }
279    }
280