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.util.LinkedHashMap;
020    
021    import org.apache.commons.lang.builder.EqualsBuilder;
022    import org.kuali.rice.kns.bo.Inactivateable;
023    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
024    import org.kuali.rice.kns.util.ObjectUtils;
025    
026    /**
027     * An association between a <code>Campus</code> and a <code>VendorAddress</code> to indicate that the Address is the default one
028     * for this Campus among the various Addresses available for this Vendor.
029     * 
030     * @see org.kuali.rice.kns.bo.Campus
031     * @see org.kuali.kfs.vnd.businessobject.VendorAddress
032     */
033    public class VendorDefaultAddress extends PersistableBusinessObjectBase implements VendorRoutingComparable, Inactivateable {
034    
035        private Integer vendorDefaultAddressGeneratedIdentifier;
036        private Integer vendorAddressGeneratedIdentifier;
037        private String vendorCampusCode;
038        private boolean active;
039    
040        private VendorAddress vendorAddress;
041        private CampusParameter vendorCampus;
042    
043        /**
044         * Default constructor.
045         */
046        public VendorDefaultAddress() {
047    
048        }
049    
050        public String getVendorCampusCode() {
051    
052            return vendorCampusCode;
053        }
054    
055        public void setVendorCampusCode(String vendorCampusCode) {
056            this.vendorCampusCode = vendorCampusCode;
057        }
058    
059        public Integer getVendorAddressGeneratedIdentifier() {
060    
061            return vendorAddressGeneratedIdentifier;
062        }
063    
064        public void setVendorAddressGeneratedIdentifier(Integer vendorAddressGeneratedIdentifier) {
065            this.vendorAddressGeneratedIdentifier = vendorAddressGeneratedIdentifier;
066        }
067    
068        public boolean isActive() {
069    
070            return active;
071        }
072    
073        public void setActive(boolean active) {
074            this.active = active;
075        }
076    
077        public VendorAddress getVendorAddress() {
078    
079            return vendorAddress;
080        }
081    
082        /**
083         * Sets the vendorAddress attribute.
084         * 
085         * @param vendorAddress The vendorAddress to set.
086         * @deprecated
087         */
088        public void setVendorAddress(VendorAddress vendorAddress) {
089            this.vendorAddress = vendorAddress;
090        }
091    
092    
093        public CampusParameter getVendorCampus() {
094            return vendorCampus;
095        }
096    
097        /**
098         * Sets the vendorCampus attribute.
099         * 
100         * @param vendorCampus The vendorCampus to set.
101         * @deprecated
102         */
103        public void setVendorCampus(CampusParameter vendorCampus) {
104            this.vendorCampus = vendorCampus;
105        }
106    
107        public Integer getVendorDefaultAddressGeneratedIdentifier() {
108    
109            return vendorDefaultAddressGeneratedIdentifier;
110        }
111    
112        public void setVendorDefaultAddressGeneratedIdentifier(Integer vendorDefaultAddressGeneratedIdentifier) {
113            this.vendorDefaultAddressGeneratedIdentifier = vendorDefaultAddressGeneratedIdentifier;
114        }
115    
116        /**
117         * @see org.kuali.kfs.vnd.document.routing.VendorRoutingComparable#isEqualForRouting(java.lang.Object)
118         */
119        public boolean isEqualForRouting(Object toCompare) {
120            if ((ObjectUtils.isNull(toCompare)) || !(toCompare instanceof VendorDefaultAddress)) {
121    
122                return false;
123            }
124            else {
125                VendorDefaultAddress vda = (VendorDefaultAddress) toCompare;
126    
127                return new EqualsBuilder().append(this.getVendorDefaultAddressGeneratedIdentifier(), vda.getVendorDefaultAddressGeneratedIdentifier()).append(this.getVendorAddressGeneratedIdentifier(), vda.getVendorAddressGeneratedIdentifier()).append(this.getVendorCampusCode(), vda.getVendorCampusCode()).isEquals();
128            }
129        }
130    
131        /**
132         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
133         */
134        protected LinkedHashMap toStringMapper() {
135            LinkedHashMap m = new LinkedHashMap();
136            if (this.vendorAddressGeneratedIdentifier != null) {
137                m.put("vendorAddressGeneratedIdentifier", this.vendorAddressGeneratedIdentifier.toString());
138            }
139            m.put("vendorCampusCode", this.vendorCampusCode);
140    
141            return m;
142        }
143    
144    
145    }