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.vnd.businessobject;
018    
019    import java.sql.Date;
020    import java.sql.Timestamp;
021    import java.util.LinkedHashMap;
022    
023    import org.kuali.kfs.sys.context.SpringContext;
024    import org.kuali.rice.kim.bo.Person;
025    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
026    
027    /**
028     * Records any changes to a Vendor's Tax Number or Type. Not shown on the screen.
029     */
030    public class VendorTaxChange extends PersistableBusinessObjectBase {
031    
032        private Integer vendorTaxChangeGeneratedIdentifier;
033        private Integer vendorHeaderGeneratedIdentifier;
034        private Timestamp vendorTaxChangeTimestamp;
035        private String vendorPreviousTaxNumber;
036        private String vendorPreviousTaxTypeCode;
037        private String vendorTaxChangePersonIdentifier;
038    
039        private Person vendorTaxChangePerson;
040        private VendorHeader vendorHeader;
041    
042        /**
043         * Default constructor.
044         */
045        public VendorTaxChange() {
046        }
047    
048        /**
049         * Constructs a VendorTaxChange.
050         * 
051         * @param vndrHdrGenId The generated Id of the Vendor Header
052         * @param taxChangeDate The date of this change
053         * @param prevTaxNum The tax number previously
054         * @param prevTaxTypeCode The tax type previously
055         * @param taxChangePersonId The Id of the user who is making this change
056         */
057        public VendorTaxChange(Integer vndrHdrGenId, Timestamp taxChangeTimestamp, String prevTaxNum, String prevTaxTypeCode, String taxChangePersonId) {
058            this.vendorHeaderGeneratedIdentifier = vndrHdrGenId;
059            this.vendorTaxChangeTimestamp = taxChangeTimestamp;
060            this.vendorPreviousTaxNumber = prevTaxNum;
061            this.vendorPreviousTaxTypeCode = prevTaxTypeCode;
062            this.vendorTaxChangePersonIdentifier = taxChangePersonId;
063        }
064    
065        public Integer getVendorTaxChangeGeneratedIdentifier() {
066            return vendorTaxChangeGeneratedIdentifier;
067        }
068    
069        public void setVendorTaxChangeGeneratedIdentifier(Integer vendorTaxChangeGeneratedIdentifier) {
070            this.vendorTaxChangeGeneratedIdentifier = vendorTaxChangeGeneratedIdentifier;
071        }
072    
073        public Integer getVendorHeaderGeneratedIdentifier() {
074            return vendorHeaderGeneratedIdentifier;
075        }
076    
077        public void setVendorHeaderGeneratedIdentifier(Integer vendorHeaderGeneratedIdentifier) {
078            this.vendorHeaderGeneratedIdentifier = vendorHeaderGeneratedIdentifier;
079        }
080    
081        public Timestamp getVendorTaxChangeTimestamp() {
082            return vendorTaxChangeTimestamp;
083        }
084    
085        public void setVendorTaxChangeTimestamp(Timestamp vendorTaxChangeTimestamp) {
086            this.vendorTaxChangeTimestamp = vendorTaxChangeTimestamp;
087        }
088    
089        public String getVendorPreviousTaxNumber() {
090            return vendorPreviousTaxNumber;
091        }
092    
093        public void setVendorPreviousTaxNumber(String vendorPreviousTaxNumber) {
094            this.vendorPreviousTaxNumber = vendorPreviousTaxNumber;
095        }
096    
097        public String getVendorPreviousTaxTypeCode() {
098            return vendorPreviousTaxTypeCode;
099        }
100    
101        public void setVendorPreviousTaxTypeCode(String vendorPreviousTaxTypeCode) {
102            this.vendorPreviousTaxTypeCode = vendorPreviousTaxTypeCode;
103        }
104    
105        public String getVendorTaxChangePersonIdentifier() {
106            return vendorTaxChangePersonIdentifier;
107        }
108    
109        public void setVendorTaxChangePersonIdentifier(String vendorTaxChangePersonIdentifier) {
110            this.vendorTaxChangePersonIdentifier = vendorTaxChangePersonIdentifier;
111        }
112    
113        public Person getVendorTaxChangePerson() {
114            vendorTaxChangePerson = SpringContext.getBean(org.kuali.rice.kim.service.PersonService.class).updatePersonIfNecessary(vendorTaxChangePersonIdentifier, vendorTaxChangePerson);
115            return vendorTaxChangePerson;
116        }
117    
118        /**
119         * Sets the vendorTaxChangePerson attribute.
120         * 
121         * @param vendorTaxChangePerson The vendorTaxChangePerson to set.
122         * @deprecated
123         */
124        public void setVendorTaxChangePerson(Person vendorTaxChangePerson) {
125            this.vendorTaxChangePerson = vendorTaxChangePerson;
126        }
127    
128        public VendorHeader getVendorHeader() {
129            return vendorHeader;
130        }
131    
132        /**
133         * Sets the vendorHeader attribute value.
134         * 
135         * @param vendorHeader The vendorHeader to set.
136         * @deprecated
137         */
138        public void setVendorHeader(VendorHeader vendorHeader) {
139            this.vendorHeader = vendorHeader;
140        }
141    
142        /**
143         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
144         */
145        protected LinkedHashMap toStringMapper() {
146            LinkedHashMap m = new LinkedHashMap();
147            if (this.vendorTaxChangeGeneratedIdentifier != null) {
148                m.put("vendorTaxChangeGeneratedIdentifier", this.vendorTaxChangeGeneratedIdentifier.toString());
149            }
150            return m;
151        }
152    
153    }
154