001 /**
002 * Copyright 2005-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 package edu.sampleu.financial.bo;
017
018 import org.apache.commons.lang.StringUtils;
019 import org.apache.log4j.Logger;
020 import org.kuali.rice.core.api.mo.common.active.MutableInactivatable;
021 import org.kuali.rice.core.framework.services.CoreFrameworkServiceLocator;
022 import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
023 import org.kuali.rice.krad.util.KRADConstants;
024 import org.kuali.rice.location.api.country.Country;
025 import org.kuali.rice.location.api.services.LocationApiServiceLocator;
026 import org.kuali.rice.location.api.state.State;
027
028 import java.util.ArrayList;
029 import java.util.List;
030
031 /**
032 * Address to be associated with a particular Vendor.
033 */
034 public class VendorAddress extends PersistableBusinessObjectBase implements MutableInactivatable {
035 private static Logger LOG = Logger.getLogger(VendorAddress.class);
036
037 private Integer vendorAddressGeneratedIdentifier;
038 private Integer vendorHeaderGeneratedIdentifier;
039 private Integer vendorDetailAssignedIdentifier;
040 private String vendorAddressTypeCode;
041 private String vendorLine1Address;
042 private String vendorLine2Address;
043 private String vendorCityName;
044 private String vendorStateCode;
045 private String vendorZipCode;
046 private String vendorCountryCode;
047 private String vendorAttentionName;
048 private String vendorAddressInternationalProvinceName;
049 private String vendorAddressEmailAddress;
050 private String vendorBusinessToBusinessUrlAddress;
051 private String vendorFaxNumber;
052 private boolean vendorDefaultAddressIndicator;
053 private boolean active;
054
055 private List<VendorDefaultAddress> vendorDefaultAddresses;
056
057 private VendorDetail vendorDetail;
058 private AddressType vendorAddressType;
059 private State vendorState;
060 private Country vendorCountry;
061
062 /**
063 * Default constructor.
064 */
065 public VendorAddress() {
066 vendorDefaultAddresses = new ArrayList();
067 }
068
069 public Integer getVendorAddressGeneratedIdentifier() {
070
071 return vendorAddressGeneratedIdentifier;
072 }
073
074 public void setVendorAddressGeneratedIdentifier(Integer vendorAddressGeneratedIdentifier) {
075 this.vendorAddressGeneratedIdentifier = vendorAddressGeneratedIdentifier;
076 }
077
078 public Integer getVendorHeaderGeneratedIdentifier() {
079 return vendorHeaderGeneratedIdentifier;
080 }
081
082 public void setVendorHeaderGeneratedIdentifier(Integer vendorHeaderGeneratedIdentifier) {
083 this.vendorHeaderGeneratedIdentifier = vendorHeaderGeneratedIdentifier;
084 }
085
086 public Integer getVendorDetailAssignedIdentifier() {
087 return vendorDetailAssignedIdentifier;
088 }
089
090 public void setVendorDetailAssignedIdentifier(Integer vendorDetailAssignedIdentifier) {
091 this.vendorDetailAssignedIdentifier = vendorDetailAssignedIdentifier;
092 }
093
094 public String getVendorAddressInternationalProvinceName() {
095 return vendorAddressInternationalProvinceName;
096 }
097
098 public void setVendorAddressInternationalProvinceName(String vendorAddressInternationalProvinceName) {
099 this.vendorAddressInternationalProvinceName = vendorAddressInternationalProvinceName;
100 }
101
102 public String getVendorAddressEmailAddress() {
103 return vendorAddressEmailAddress;
104 }
105
106 public void setVendorAddressEmailAddress(String vendorAddressEmailAddress) {
107 this.vendorAddressEmailAddress = vendorAddressEmailAddress;
108 }
109
110 public String getVendorAddressTypeCode() {
111 return vendorAddressTypeCode;
112 }
113
114 public void setVendorAddressTypeCode(String vendorAddressTypeCode) {
115 this.vendorAddressTypeCode = vendorAddressTypeCode;
116 }
117
118 public String getVendorLine1Address() {
119 return vendorLine1Address;
120 }
121
122 public void setVendorLine1Address(String vendorLine1Address) {
123 this.vendorLine1Address = vendorLine1Address;
124 }
125
126 public String getVendorLine2Address() {
127 return vendorLine2Address;
128 }
129
130 public void setVendorLine2Address(String vendorLine2Address) {
131 this.vendorLine2Address = vendorLine2Address;
132 }
133
134 public String getVendorCityName() {
135 return vendorCityName;
136 }
137
138 public void setVendorCityName(String vendorCityName) {
139 this.vendorCityName = vendorCityName;
140 }
141
142 public String getVendorStateCode() {
143 return vendorStateCode;
144 }
145
146 public void setVendorStateCode(String vendorStateCode) {
147 this.vendorStateCode = vendorStateCode;
148 }
149
150 public String getVendorZipCode() {
151 return vendorZipCode;
152 }
153
154 public void setVendorZipCode(String vendorZipCode) {
155 this.vendorZipCode = vendorZipCode;
156 }
157
158 public String getVendorCountryCode() {
159 return vendorCountryCode;
160 }
161
162 public void setVendorCountryCode(String vendorCountryCode) {
163 this.vendorCountryCode = vendorCountryCode;
164 }
165
166 public String getVendorAttentionName() {
167 return vendorAttentionName;
168 }
169
170 public void setVendorAttentionName(String vendorAttentionName) {
171 this.vendorAttentionName = vendorAttentionName;
172 }
173
174 public String getVendorBusinessToBusinessUrlAddress() {
175 return vendorBusinessToBusinessUrlAddress;
176 }
177
178 public void setVendorBusinessToBusinessUrlAddress(String vendorBusinessToBusinessUrlAddress) {
179 this.vendorBusinessToBusinessUrlAddress = vendorBusinessToBusinessUrlAddress;
180 }
181
182 public VendorDetail getVendorDetail() {
183 return vendorDetail;
184 }
185
186 public void setVendorDetail(VendorDetail vendorDetail) {
187 this.vendorDetail = vendorDetail;
188 }
189
190 public AddressType getVendorAddressType() {
191 return vendorAddressType;
192 }
193
194 public void setVendorAddressType(AddressType vendorAddressType) {
195 this.vendorAddressType = vendorAddressType;
196 }
197
198 public State getVendorState() {
199 if ((vendorState == null) || (StringUtils.equals(vendorState.getCode(), vendorStateCode))) {
200 vendorState = LocationApiServiceLocator.getStateService().getState(vendorCountryCode, vendorStateCode);
201 }
202
203 return vendorState;
204 }
205
206 public void setVendorState(State vendorState) {
207 this.vendorState = vendorState;
208 }
209
210 public Country getVendorCountry() {
211 String postalCountryCode = CoreFrameworkServiceLocator.getParameterService().getParameterValueAsString(
212 KRADConstants.KRAD_NAMESPACE,
213 KRADConstants.DetailTypes.ALL_DETAIL_TYPE, KRADConstants.SystemGroupParameterNames.DEFAULT_COUNTRY);
214 vendorCountry = LocationApiServiceLocator.getCountryService().getCountry(postalCountryCode);
215
216 return vendorCountry;
217 }
218
219 public void setVendorCountry(Country vendorCountry) {
220 this.vendorCountry = vendorCountry;
221 }
222
223 public String getVendorFaxNumber() {
224 return vendorFaxNumber;
225 }
226
227 public void setVendorFaxNumber(String vendorFaxNumber) {
228 this.vendorFaxNumber = vendorFaxNumber;
229 }
230
231 public boolean isVendorDefaultAddressIndicator() {
232 return vendorDefaultAddressIndicator;
233 }
234
235 public void setVendorDefaultAddressIndicator(boolean vendorDefaultAddressIndicator) {
236 this.vendorDefaultAddressIndicator = vendorDefaultAddressIndicator;
237 }
238
239 public boolean isActive() {
240 return active;
241 }
242
243 public void setActive(boolean active) {
244 this.active = active;
245 }
246
247 public List<VendorDefaultAddress> getVendorDefaultAddresses() {
248 return this.vendorDefaultAddresses;
249 }
250
251 public void setVendorDefaultAddresses(List<VendorDefaultAddress> vendorDefaultAddresses) {
252 this.vendorDefaultAddresses = vendorDefaultAddresses;
253 }
254 }