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.apache.log4j.Logger;
023 import org.kuali.rice.kns.bo.Inactivateable;
024 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
025 import org.kuali.rice.kns.util.ObjectUtils;
026
027 /**
028 * Relationship between a Vendor and a <code>SupplierDiversity</code>.
029 *
030 * @see org.kuali.kfs.vnd.businessobject.SupplierDiversity
031 */
032 public class VendorSupplierDiversity extends PersistableBusinessObjectBase implements VendorRoutingComparable, Inactivateable {
033 private static Logger LOG = Logger.getLogger(VendorSupplierDiversity.class);
034
035 private Integer vendorHeaderGeneratedIdentifier;
036 private String vendorSupplierDiversityCode;
037 private boolean active;
038
039 private VendorHeader vendorHeader;
040 private SupplierDiversity vendorSupplierDiversity;
041
042
043 /**
044 * Default constructor.
045 */
046 public VendorSupplierDiversity() {
047
048 }
049
050 public Integer getVendorHeaderGeneratedIdentifier() {
051
052 return vendorHeaderGeneratedIdentifier;
053 }
054
055 public void setVendorHeaderGeneratedIdentifier(Integer vendorHeaderGeneratedIdentifier) {
056 this.vendorHeaderGeneratedIdentifier = vendorHeaderGeneratedIdentifier;
057 }
058
059 public String getVendorSupplierDiversityCode() {
060
061 return vendorSupplierDiversityCode;
062 }
063
064 public void setVendorSupplierDiversityCode(String vendorSupplierDiversityCode) {
065 this.vendorSupplierDiversityCode = vendorSupplierDiversityCode;
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 VendorHeader getVendorHeader() {
078
079 return vendorHeader;
080 }
081
082 /**
083 * Sets the vendorHeader attribute value.
084 *
085 * @param vendorHeader The vendorHeader to set.
086 * @deprecated
087 */
088 public void setVendorHeader(VendorHeader vendorHeader) {
089 this.vendorHeader = vendorHeader;
090 }
091
092 public SupplierDiversity getVendorSupplierDiversity() {
093
094 return vendorSupplierDiversity;
095 }
096
097 /**
098 * Sets the vendorSupplierDiversity attribute value.
099 *
100 * @param vendorSupplierDiversity The vendorSupplierDiversity to set.
101 * @deprecated
102 */
103 public void setVendorSupplierDiversity(SupplierDiversity vendorSupplierDiversity) {
104 this.vendorSupplierDiversity = vendorSupplierDiversity;
105 }
106
107 /**
108 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
109 */
110 protected LinkedHashMap toStringMapper() {
111 LinkedHashMap m = new LinkedHashMap();
112
113 if (this.vendorHeaderGeneratedIdentifier != null) {
114 m.put("vendorHeaderGeneratedIdentifier", this.vendorHeaderGeneratedIdentifier.toString());
115 }
116 m.put("vendorSupplierDiversityCode", this.vendorSupplierDiversityCode);
117
118 return m;
119 }
120
121 /**
122 * @see org.kuali.kfs.vnd.document.routing.VendorRoutingComparable#isEqualForRouting(java.lang.Object)
123 */
124 public boolean isEqualForRouting(Object toCompare) {
125 LOG.debug("Entering isEqualForRouting.");
126 if ((ObjectUtils.isNull(toCompare)) || !(toCompare instanceof VendorSupplierDiversity)) {
127
128 return false;
129 }
130 else {
131 VendorSupplierDiversity vsd = (VendorSupplierDiversity) toCompare;
132
133 return new EqualsBuilder().append(this.getVendorHeaderGeneratedIdentifier(), vsd.getVendorHeaderGeneratedIdentifier()).append(this.getVendorSupplierDiversityCode(), vsd.getVendorSupplierDiversityCode()).isEquals();
134 }
135 }
136
137 /**
138 * This method overrides the superclass method to return the description of the supplier diversity.
139 *
140 * @param mapper A LinkedHashMap
141 * @return A String rendition of this object.
142 */
143 @Override
144 public String toStringBuilder(LinkedHashMap mapper) {
145 if (vendorSupplierDiversity != null) {
146
147 return vendorSupplierDiversity.getVendorSupplierDiversityDescription();
148 }
149 else {
150
151 return super.toStringBuilder(mapper);
152 }
153 }
154 }