001/*
002 * Copyright 2005-2006 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
017package org.kuali.ole.fp.businessobject;
018
019import java.util.LinkedHashMap;
020
021import org.kuali.rice.core.api.mo.common.active.MutableInactivatable;
022import org.kuali.rice.core.api.util.type.KualiDecimal;
023import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
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 */
029public class NonResidentAlienTaxPercent extends PersistableBusinessObjectBase implements MutableInactivatable {
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.krad.bo.BusinessObjectBase#toStringMapper()
125     */
126    protected LinkedHashMap toStringMapper_RICE20_REFACTORME() {
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}