001/* 002 * Copyright 2005 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.ole.fp.businessobject.options.TaxIncomeClassValuesFinder; 022import org.kuali.ole.sys.OLEPropertyConstants; 023import org.kuali.rice.core.api.util.type.KualiDecimal; 024import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; 025 026/** 027 * This class is used to represent a disbursement voucher non-resident alien tax. 028 */ 029public class DisbursementVoucherNonResidentAlienTax extends PersistableBusinessObjectBase { 030 031 private String documentNumber; 032 private KualiDecimal federalIncomeTaxPercent; 033 private KualiDecimal stateIncomeTaxPercent; 034 private String incomeClassCode; 035 private String postalCountryCode; 036 private boolean incomeTaxTreatyExemptCode; 037 private boolean foreignSourceIncomeCode; 038 private boolean incomeTaxGrossUpCode; 039 private String referenceFinancialSystemOriginationCode; 040 private String referenceFinancialDocumentNumber; 041 private String financialDocumentAccountingLineText; 042 private String taxNQIId; 043 private boolean taxOtherExemptIndicator; 044 private boolean taxUSAIDPerDiemIndicator; 045 protected KualiDecimal taxSpecialW4Amount; 046 047 private TaxIncomeClassCode incomeClass; 048 049 /** 050 * Default no-arg constructor. 051 */ 052 public DisbursementVoucherNonResidentAlienTax() { 053 054 } 055 056 /** 057 * Gets the documentNumber attribute. 058 * 059 * @return Returns the documentNumber 060 */ 061 public String getDocumentNumber() { 062 return documentNumber; 063 } 064 065 066 /** 067 * Sets the documentNumber attribute. 068 * 069 * @param documentNumber The documentNumber to set. 070 */ 071 public void setDocumentNumber(String documentNumber) { 072 this.documentNumber = documentNumber; 073 } 074 075 /** 076 * Gets the federalIncomeTaxPercent attribute. 077 * 078 * @return Returns the federalIncomeTaxPercent 079 */ 080 public KualiDecimal getFederalIncomeTaxPercent() { 081 return federalIncomeTaxPercent; 082 } 083 084 085 /** 086 * Sets the federalIncomeTaxPercent attribute. 087 * 088 * @param federalIncomeTaxPercent The federalIncomeTaxPercent to set. 089 */ 090 public void setFederalIncomeTaxPercent(KualiDecimal federalIncomeTaxPercent) { 091 this.federalIncomeTaxPercent = federalIncomeTaxPercent; 092 } 093 094 /** 095 * Gets the stateIncomeTaxPercent attribute. 096 * 097 * @return Returns the stateIncomeTaxPercent 098 */ 099 public KualiDecimal getStateIncomeTaxPercent() { 100 return stateIncomeTaxPercent; 101 } 102 103 104 /** 105 * Sets the stateIncomeTaxPercent attribute. 106 * 107 * @param stateIncomeTaxPercent The stateIncomeTaxPercent to set. 108 */ 109 public void setStateIncomeTaxPercent(KualiDecimal stateIncomeTaxPercent) { 110 this.stateIncomeTaxPercent = stateIncomeTaxPercent; 111 } 112 113 /** 114 * Gets the incomeClassCode attribute. 115 * 116 * @return Returns the incomeClassCode 117 */ 118 public String getIncomeClassCode() { 119 return incomeClassCode; 120 } 121 122 123 /** 124 * Sets the incomeClassCode attribute. 125 * 126 * @param incomeClassCode The incomeClassCode to set. 127 */ 128 public void setIncomeClassCode(String incomeClassCode) { 129 this.incomeClassCode = incomeClassCode; 130 } 131 132 /** 133 * Gets the postalCountryCode attribute. 134 * 135 * @return Returns the postalCountryCode 136 */ 137 public String getPostalCountryCode() { 138 return postalCountryCode; 139 } 140 141 142 /** 143 * Sets the postalCountryCode attribute. 144 * 145 * @param postalCountryCode The postalCountryCode to set. 146 */ 147 public void setPostalCountryCode(String postalCountryCode) { 148 this.postalCountryCode = postalCountryCode; 149 } 150 151 /** 152 * Gets the incomeTaxTreatyExemptCode attribute. 153 * 154 * @return Returns the incomeTaxTreatyExemptCode 155 */ 156 public boolean isIncomeTaxTreatyExemptCode() { 157 return incomeTaxTreatyExemptCode; 158 } 159 160 161 /** 162 * Sets the incomeTaxTreatyExemptCode attribute. 163 * 164 * @param incomeTaxTreatyExemptCode The incomeTaxTreatyExemptCode to set. 165 */ 166 public void setIncomeTaxTreatyExemptCode(boolean incomeTaxTreatyExemptCode) { 167 this.incomeTaxTreatyExemptCode = incomeTaxTreatyExemptCode; 168 } 169 170 /** 171 * Gets the foreignSourceIncomeCode attribute. 172 * 173 * @return Returns the foreignSourceIncomeCode 174 */ 175 public boolean isForeignSourceIncomeCode() { 176 return foreignSourceIncomeCode; 177 } 178 179 180 /** 181 * Sets the foreignSourceIncomeCode attribute. 182 * 183 * @param foreignSourceIncomeCode The foreignSourceIncomeCode to set. 184 */ 185 public void setForeignSourceIncomeCode(boolean foreignSourceIncomeCode) { 186 this.foreignSourceIncomeCode = foreignSourceIncomeCode; 187 } 188 189 /** 190 * Gets the incomeTaxGrossUpCode attribute. 191 * 192 * @return Returns the incomeTaxGrossUpCode 193 */ 194 public boolean isIncomeTaxGrossUpCode() { 195 return incomeTaxGrossUpCode; 196 } 197 198 199 /** 200 * Sets the incomeTaxGrossUpCode attribute. 201 * 202 * @param incomeTaxGrossUpCode The incomeTaxGrossUpCode to set. 203 */ 204 public void setIncomeTaxGrossUpCode(boolean incomeTaxGrossUpCode) { 205 this.incomeTaxGrossUpCode = incomeTaxGrossUpCode; 206 } 207 208 /** 209 * Gets the referenceFinancialSystemOriginationCode attribute. 210 * 211 * @return Returns the referenceFinancialSystemOriginationCode 212 */ 213 public String getReferenceFinancialSystemOriginationCode() { 214 return referenceFinancialSystemOriginationCode; 215 } 216 217 218 /** 219 * Sets the referenceFinancialSystemOriginationCode attribute. 220 * 221 * @param referenceFinancialSystemOriginationCode The referenceFinancialSystemOriginationCode to set. 222 */ 223 public void setReferenceFinancialSystemOriginationCode(String referenceFinancialSystemOriginationCode) { 224 this.referenceFinancialSystemOriginationCode = referenceFinancialSystemOriginationCode; 225 } 226 227 /** 228 * Gets the referenceFinancialDocumentNumber attribute. 229 * 230 * @return Returns the referenceFinancialDocumentNumber 231 */ 232 public String getReferenceFinancialDocumentNumber() { 233 return referenceFinancialDocumentNumber; 234 } 235 236 237 /** 238 * Sets the referenceFinancialDocumentNumber attribute. 239 * 240 * @param referenceFinancialDocumentNumber The referenceFinancialDocumentNumber to set. 241 */ 242 public void setReferenceFinancialDocumentNumber(String referenceFinancialDocumentNumber) { 243 this.referenceFinancialDocumentNumber = referenceFinancialDocumentNumber; 244 } 245 246 /** 247 * @return Returns the financialDocumentAccountingLineText. 248 */ 249 public String getFinancialDocumentAccountingLineText() { 250 return financialDocumentAccountingLineText; 251 } 252 253 /** 254 * @param financialDocumentAccountingLineText The financialDocumentAccountingLineText to set. 255 */ 256 public void setFinancialDocumentAccountingLineText(String financialDocumentAccountingLineText) { 257 this.financialDocumentAccountingLineText = financialDocumentAccountingLineText; 258 } 259 260 /** 261 * Gets the taxNQIId attribute. 262 * 263 * @return Returns the taxNQIId. 264 */ 265 public String getTaxNQIId() { 266 return taxNQIId; 267 } 268 269 /** 270 * Gets the taxOtherExemptIndicator attribute. 271 * 272 * @return Returns the taxOtherExemptIndicator. 273 */ 274 public boolean isTaxOtherExemptIndicator() { 275 return taxOtherExemptIndicator; 276 } 277 278 /** 279 * Gets the taxUSAIDPerDiemIndicator attribute. 280 * 281 * @return Returns the taxUSAIDPerDiemIndicator. 282 */ 283 public boolean isTaxUSAIDPerDiemIndicator() { 284 return taxUSAIDPerDiemIndicator; 285 } 286 287 /** 288 * Gets the taxSpecialW4Amount attribute. 289 * 290 * @return Returns the taxSpecialW4Amount. 291 */ 292 public KualiDecimal getTaxSpecialW4Amount() { 293 return taxSpecialW4Amount; 294 } 295 296 /** 297 * Sets the taxNQIId attribute value. 298 * 299 * @param taxNQIId The taxNQIId to set. 300 */ 301 public void setTaxNQIId(String taxNQIId) { 302 this.taxNQIId = taxNQIId; 303 } 304 305 /** 306 * Sets the taxOtherExemptIndicator attribute value. 307 * 308 * @param taxOtherExemptIndicator The taxOtherExemptIndicator to set. 309 */ 310 public void setTaxOtherExemptIndicator(boolean taxOtherExemptIndicator) { 311 this.taxOtherExemptIndicator = taxOtherExemptIndicator; 312 } 313 314 /** 315 * Sets the taxUSAIDPerDiemIndicator attribute value. 316 * 317 * @param taxUSAIDPerDiemIndicator The taxUSAIDPerDiemIndicator to set. 318 */ 319 public void setTaxUSAIDPerDiemIndicator(boolean taxUSAIDPerDiemIndicator) { 320 this.taxUSAIDPerDiemIndicator = taxUSAIDPerDiemIndicator; 321 } 322 323 /** 324 * Sets the taxSpecialW4Amount attribute value. 325 * 326 * @param taxSpecialW4Amount The taxSpecialW4Amount to set. 327 */ 328 public void setTaxSpecialW4Amount(KualiDecimal taxSpecialW4Amount) { 329 this.taxSpecialW4Amount = taxSpecialW4Amount; 330 } 331 332 /** 333 * Gets the incomeClass attribute. 334 * 335 * @return Returns the incomeClass 336 */ 337 public TaxIncomeClassCode getIncomeClass() { 338 return incomeClass; 339 } 340 341 342 /** 343 * Sets the incomeClass attribute. 344 * 345 * @param incomeClass The incomeClass to set. 346 * @deprecated 347 */ 348 @Deprecated 349 public void setIncomeClass(TaxIncomeClassCode incomeClass) { 350 this.incomeClass = incomeClass; 351 } 352 353 /** 354 * Return select read-only label for income class 355 * 356 * @return 357 */ 358 public String getIncomeClassName() { 359 return new TaxIncomeClassValuesFinder().getKeyLabel(incomeClassCode); 360 } 361 362 /** 363 * Sets the incomeClassName attribute. 364 * 365 * @param name The incomeClass name to set. 366 */ 367 public void setincomeClassName(String name) { 368 } 369 370 /** 371 * @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper() 372 */ 373 @SuppressWarnings("rawtypes") 374 protected LinkedHashMap toStringMapper_RICE20_REFACTORME() { 375 LinkedHashMap m = new LinkedHashMap(); 376 m.put(OLEPropertyConstants.DOCUMENT_NUMBER, this.documentNumber); 377 return m; 378 } 379 380}