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