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.fp.businessobject;
018    
019    import java.util.LinkedHashMap;
020    
021    import org.kuali.rice.kns.bo.Inactivateable;
022    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
023    import org.kuali.rice.kns.util.KualiDecimal;
024    
025    /**
026     * This class is used to represent a non-resident alien tax percent.  This is the percentage of a total 
027     * reimbursement that is collected in taxes for non-resident aliens.
028     */
029    public class NonResidentAlienTaxPercent extends PersistableBusinessObjectBase implements Inactivateable {
030    
031        private String incomeClassCode;
032        private String incomeTaxTypeCode;
033        private boolean active;
034        
035        private KualiDecimal incomeTaxPercent;
036    
037        private TaxIncomeClassCode incomeClass;
038    
039        /**
040         * Default no-arg constructor.
041         */
042        public NonResidentAlienTaxPercent() {
043    
044        }
045    
046        /**
047         * Gets the incomeClassCode attribute.
048         * 
049         * @return Returns the incomeClassCode
050         */
051        public String getIncomeClassCode() {
052            return incomeClassCode;
053        }
054    
055    
056        /**
057         * Sets the incomeClassCode attribute.
058         * 
059         * @param incomeClassCode The incomeClassCode to set.
060         */
061        public void setIncomeClassCode(String incomeClassCode) {
062            this.incomeClassCode = incomeClassCode;
063        }
064    
065        /**
066         * Gets the incomeTaxTypeCode attribute.
067         * 
068         * @return Returns the incomeTaxTypeCode
069         */
070        public String getIncomeTaxTypeCode() {
071            return incomeTaxTypeCode;
072        }
073    
074    
075        /**
076         * Sets the incomeTaxTypeCode attribute.
077         * 
078         * @param incomeTaxTypeCode The incomeTaxTypeCode to set.
079         */
080        public void setIncomeTaxTypeCode(String incomeTaxTypeCode) {
081            this.incomeTaxTypeCode = incomeTaxTypeCode;
082        }
083    
084        /**
085         * Gets the incomeTaxPercent attribute.
086         * 
087         * @return Returns the incomeTaxPercent
088         */
089        public KualiDecimal getIncomeTaxPercent() {
090            return incomeTaxPercent;
091        }
092    
093    
094        /**
095         * Sets the incomeTaxPercent attribute.
096         * 
097         * @param incomeTaxPercent The incomeTaxPercent to set.
098         */
099        public void setIncomeTaxPercent(KualiDecimal incomeTaxPercent) {
100            this.incomeTaxPercent = incomeTaxPercent;
101        }
102    
103        /**
104         * Gets the incomeClass attribute.
105         * 
106         * @return Returns the incomeClass
107         */
108        public TaxIncomeClassCode getIncomeClass() {
109            return incomeClass;
110        }
111    
112    
113        /**
114         * Sets the incomeClass attribute.
115         * 
116         * @param incomeClass The incomeClass to set.
117         * @deprecated
118         */
119        public void setIncomeClass(TaxIncomeClassCode incomeClass) {
120            this.incomeClass = incomeClass;
121        }
122    
123        /**
124         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
125         */
126        protected LinkedHashMap toStringMapper() {
127            LinkedHashMap m = new LinkedHashMap();
128            m.put("incomeClassCode", this.incomeClassCode);
129            m.put("incomeTaxTypeCode", this.incomeTaxTypeCode);
130            if (this.incomeTaxPercent != null) {
131                m.put("incomeTaxPercent", this.incomeTaxPercent.toString());
132            }
133            return m;
134        }
135    
136        /**
137         * Gets the active attribute. 
138         * @return Returns the active.
139         */
140        public boolean isActive() {
141            return active;
142        }
143    
144        /**
145         * Sets the active attribute value.
146         * @param active The active to set.
147         */
148        public void setActive(boolean active) {
149            this.active = active;
150        }
151    }