001 /*
002 * Copyright 2007 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 edu.sampleu.financial.bo;
018
019 import java.sql.Date;
020
021 import org.apache.commons.lang.builder.EqualsBuilder;
022 import org.apache.log4j.Logger;
023 import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
024
025 /**
026 * Contains information specific to a parent Vendor, which may be shared by its division Vendors if it has any. Contained by a
027 * <code>VendorDetail</code>.
028 *
029 * @see org.kuali.kfs.vnd.businessobject.VendorDetail
030 */
031 public class VendorHeader extends PersistableBusinessObjectBase {
032 private static Logger LOG = Logger.getLogger(VendorHeader.class);
033
034 private Integer vendorHeaderGeneratedIdentifier;
035 private String vendorTypeCode;
036 private String vendorTaxNumber;
037 private String vendorTaxTypeCode;
038 private String vendorOwnershipCode;
039 private String vendorOwnershipCategoryCode;
040 private Date vendorFederalWithholdingTaxBeginningDate;
041 private Date vendorFederalWithholdingTaxEndDate;
042 private Boolean vendorW9ReceivedIndicator;
043 private Boolean vendorW8BenReceivedIndicator;
044 private Boolean vendorDebarredIndicator;
045 private Boolean vendorForeignIndicator;
046
047 // private VendorType vendorType;
048 private OwnershipType vendorOwnership;
049 // private OwnershipCategory vendorOwnershipCategory;
050 // private List<VendorSupplierDiversity> vendorSupplierDiversities;
051 // private List<VendorTaxChange> vendorTaxChanges;
052
053 /**
054 * Default constructor.
055 */
056 public VendorHeader() {
057 super();
058 // vendorSupplierDiversities = new TypedArrayList(VendorSupplierDiversity.class);
059 }
060
061 public Integer getVendorHeaderGeneratedIdentifier() {
062
063 return vendorHeaderGeneratedIdentifier;
064 }
065
066 public void setVendorHeaderGeneratedIdentifier(Integer vendorHeaderGeneratedIdentifier) {
067 this.vendorHeaderGeneratedIdentifier = vendorHeaderGeneratedIdentifier;
068 }
069
070 public String getVendorTypeCode() {
071
072 return vendorTypeCode;
073 }
074
075 public void setVendorTypeCode(String vendorTypeCode) {
076 this.vendorTypeCode = vendorTypeCode;
077 }
078
079 public String getVendorTaxNumber() {
080
081 return vendorTaxNumber;
082 }
083
084 public void setVendorTaxNumber(String vendorTaxNumber) {
085 this.vendorTaxNumber = vendorTaxNumber;
086 }
087
088 public String getVendorTaxTypeCode() {
089
090 return vendorTaxTypeCode;
091 }
092
093 public void setVendorTaxTypeCode(String vendorTaxTypeCode) {
094 this.vendorTaxTypeCode = vendorTaxTypeCode;
095 }
096
097 public String getVendorOwnershipCode() {
098
099 return vendorOwnershipCode;
100 }
101
102 public void setVendorOwnershipCode(String vendorOwnershipCode) {
103 this.vendorOwnershipCode = vendorOwnershipCode;
104 }
105
106 public String getVendorOwnershipCategoryCode() {
107
108 return vendorOwnershipCategoryCode;
109 }
110
111 public void setVendorOwnershipCategoryCode(String vendorOwnershipCategoryCode) {
112 this.vendorOwnershipCategoryCode = vendorOwnershipCategoryCode;
113 }
114
115 public Date getVendorFederalWithholdingTaxBeginningDate() {
116
117 return vendorFederalWithholdingTaxBeginningDate;
118 }
119
120 public void setVendorFederalWithholdingTaxBeginningDate(Date vendorFederalWithholdingTaxBeginningDate) {
121 this.vendorFederalWithholdingTaxBeginningDate = vendorFederalWithholdingTaxBeginningDate;
122 }
123
124 public Date getVendorFederalWithholdingTaxEndDate() {
125
126 return vendorFederalWithholdingTaxEndDate;
127 }
128
129 public void setVendorFederalWithholdingTaxEndDate(Date vendorFederalWithholdingTaxEndDate) {
130 this.vendorFederalWithholdingTaxEndDate = vendorFederalWithholdingTaxEndDate;
131 }
132
133 public Boolean getVendorW9ReceivedIndicator() {
134
135 return vendorW9ReceivedIndicator;
136 }
137
138 public void setVendorW9ReceivedIndicator(Boolean vendorW9ReceivedIndicator) {
139 this.vendorW9ReceivedIndicator = vendorW9ReceivedIndicator;
140 }
141
142 public Boolean getVendorW8BenReceivedIndicator() {
143
144 return vendorW8BenReceivedIndicator;
145 }
146
147 public void setVendorW8BenReceivedIndicator(Boolean vendorW8BenReceivedIndicator) {
148 this.vendorW8BenReceivedIndicator = vendorW8BenReceivedIndicator;
149 }
150
151 /*public VendorType getVendorType() {
152 // refresh because proxy doesn't work properly and vendor type sometimes is null
153 if (vendorType == null)
154 this.refreshReferenceObject("vendorType");
155 return vendorType;
156 }
157
158 */
159
160 /**
161 * Sets the vendorType attribute.
162 *
163 * @param vendorType The vendorType to set.
164 * @deprecated
165 *//*
166 public void setVendorType(VendorType vendorType) {
167 this.vendorType = vendorType;
168 }*/
169 public OwnershipType getVendorOwnership() {
170
171 return vendorOwnership;
172 }
173
174 /**
175 * Sets the vendorOwnership attribute.
176 *
177 * @param vendorOwnership The vendorOwnership to set.
178 * @deprecated
179 */
180 public void setVendorOwnership(OwnershipType vendorOwnership) {
181 this.vendorOwnership = vendorOwnership;
182 }
183
184 // public OwnershipCategory getVendorOwnershipCategory() {
185 //
186 // return vendorOwnershipCategory;
187 // }
188
189 /**
190 * Sets the vendorOwnershipCategory attribute.
191 *
192 * @param vendorOwnershipCategory The vendorOwnershipCategory to set.
193 * @deprecated
194 */
195 // public void setVendorOwnershipCategory(OwnershipCategory vendorOwnershipCategory) {
196 // this.vendorOwnershipCategory = vendorOwnershipCategory;
197 // }
198 public Boolean getVendorDebarredIndicator() {
199
200 return vendorDebarredIndicator;
201 }
202
203 /**
204 * Sets the vendorDebarredIndicator attribute value.
205 *
206 * @param vendorDebarredIndicator The vendorDebarredIndicator to set.
207 */
208 public void setVendorDebarredIndicator(Boolean vendorDebarredIndicator) {
209 this.vendorDebarredIndicator = vendorDebarredIndicator;
210 }
211
212 public Boolean getVendorForeignIndicator() {
213
214 return vendorForeignIndicator;
215 }
216
217 /**
218 * Sets the vendorForeignIndicator attribute value.
219 *
220 * @param vendorForeignIndicator The vendorForeignIndicator to set.
221 */
222 public void setVendorForeignIndicator(Boolean vendorForeignIndicator) {
223 this.vendorForeignIndicator = vendorForeignIndicator;
224 }
225
226 // public List<VendorSupplierDiversity> getVendorSupplierDiversities() {
227 //
228 // return vendorSupplierDiversities;
229 // }
230 //
231 // public void setVendorSupplierDiversities(List<VendorSupplierDiversity> vendorSupplierDiversities) {
232 // this.vendorSupplierDiversities = vendorSupplierDiversities;
233 // }
234
235 /**
236 * Used by the Spring Framework to correctly retrieve the vendor supplier diversities as a single
237 * attribute. The vendorSupplierDiversities is a collection of diversities, and without this method,
238 * there was no way to get a single attribute for it.
239 *
240 * @return the vendor supplier diversities as a single attribute
241 */
242 // public String getVendorSupplierDiversitiesAsString() {
243 // StringBuilder sb = new StringBuilder("vendorSupplierDiversities=[");
244 //
245 // boolean first = true;
246 // for (VendorSupplierDiversity vsd : vendorSupplierDiversities) {
247 // if (!first) {
248 // sb.append(", ");
249 // } else {
250 // first = false;
251 // }
252 // sb.append(vsd.getVendorSupplierDiversityCode().toString());
253 // }
254 // sb.append(']');
255 //
256 // return sb.toString();
257 // }
258 //
259 // public List<VendorTaxChange> getVendorTaxChanges() {
260 //
261 // return vendorTaxChanges;
262 // }
263 //
264 // public void setVendorTaxChanges(List<VendorTaxChange> vendorTaxChanges) {
265 // this.vendorTaxChanges = vendorTaxChanges;
266 // }
267
268 /**
269 * This method is a predicate to test equality of all the persisted attributes of an instance of this class, including member
270 * collections. This is used to determine whether to route
271 *
272 * @param vh Another VendorHeader object
273 * @return True if all non-derived attributes of the given object are equal to this one's
274 */
275 public boolean isEqualForRouting(Object toCompare) {
276 LOG.debug("Entering isEqualForRouting.");
277 if (!(toCompare instanceof VendorHeader)) {
278 return false;
279 } else {
280 VendorHeader vh = (VendorHeader) toCompare;
281 return new EqualsBuilder().append(this.getVendorTypeCode(), vh.getVendorTypeCode()).append(this.getVendorTaxNumber(), vh.getVendorTaxNumber()).append(this.getVendorOwnershipCode(), vh.getVendorOwnershipCode()).append(this.getVendorOwnershipCategoryCode(), vh.getVendorOwnershipCategoryCode()).append(this.getVendorFederalWithholdingTaxBeginningDate(), vh.getVendorFederalWithholdingTaxBeginningDate()).append(this.getVendorFederalWithholdingTaxEndDate(), vh.getVendorFederalWithholdingTaxEndDate()).append(this.getVendorW9ReceivedIndicator(), vh.getVendorW9ReceivedIndicator()).append(this.getVendorW8BenReceivedIndicator(), vh.getVendorW8BenReceivedIndicator()).append(this.getVendorDebarredIndicator(), vh.getVendorDebarredIndicator()).append(this.getVendorForeignIndicator(), vh.getVendorForeignIndicator()).isEquals();
282 }
283 }
284
285 }