001/**
002 * Copyright 2005-2016 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 */
016package org.kuali.rice.kim.bo.ui;
017
018import java.sql.Timestamp;
019
020import javax.persistence.CascadeType;
021import javax.persistence.Column;
022import javax.persistence.Convert;
023import javax.persistence.Entity;
024import javax.persistence.GeneratedValue;
025import javax.persistence.Id;
026import javax.persistence.JoinColumn;
027import javax.persistence.ManyToOne;
028import javax.persistence.Table;
029import javax.persistence.Transient;
030
031import org.eclipse.persistence.annotations.JoinFetch;
032import org.eclipse.persistence.annotations.JoinFetchType;
033import org.kuali.rice.kim.impl.identity.address.EntityAddressTypeBo;
034import org.kuali.rice.krad.data.jpa.converters.BooleanYNConverter;
035import org.kuali.rice.krad.data.jpa.PortableSequenceGenerator;
036
037/**
038 * This is a description of what this class does - shyu don't forget to fill this in. 
039 * 
040 * @author Kuali Rice Team (rice.collab@kuali.org)
041 *
042 */
043@Entity
044@Table(name = "KRIM_PND_ADDR_MT")
045public class PersonDocumentAddress extends PersonDocumentBoDefaultBase {
046    private static final long serialVersionUID = 1L;
047
048    @PortableSequenceGenerator(name = "KRIM_ENTITY_ADDR_ID_S")
049    @GeneratedValue(generator = "KRIM_ENTITY_ADDR_ID_S")
050    @Id
051    @Column(name = "ENTITY_ADDR_ID")
052    protected String entityAddressId;
053
054    @Column(name = "ADDR_TYP_CD")
055    protected String addressTypeCode;
056
057    //@Column(name = "ENT_TYP_CD")                       
058    @Transient
059    protected String entityTypeCode;
060
061    @Column(name = "CITY")
062    protected String city;
063
064    @Column(name = "STATE_PVC_CD")
065    protected String stateProvinceCode;
066
067    @Column(name = "POSTAL_CD")
068    protected String postalCode;
069
070    @Column(name = "POSTAL_CNTRY_CD")
071    protected String countryCode;
072
073    @Column(name = "ATTN_LINE")
074    protected String attentionLine;
075
076    @Column(name = "ADDR_LINE_1")
077    protected String line1;
078
079    @Column(name = "ADDR_LINE_2")
080    protected String line2;
081
082    @Column(name = "ADDR_LINE_3")
083    protected String line3;
084
085    @Column(name = "ADDR_FMT")
086    protected String addressFormat;
087
088    @Column(name = "MOD_DT")
089    protected Timestamp modifiedDate;
090
091    @Column(name = "VALID_DT")
092    protected Timestamp validatedDate;
093
094    @Column(name = "VALID_IND")
095    @Convert(converter = BooleanYNConverter.class)
096    protected boolean validated;
097
098    @Column(name = "NOTE_MSG")
099    protected String noteMessage;
100
101    @JoinFetch(value= JoinFetchType.OUTER)
102    @ManyToOne(targetEntity = EntityAddressTypeBo.class, cascade = { CascadeType.REFRESH })
103    @JoinColumn(name = "ADDR_TYP_CD", referencedColumnName = "ADDR_TYP_CD", insertable = false, updatable = false)
104    private EntityAddressTypeBo addressType;
105
106    // Waiting until we pull in from KFS                       
107    // protected State state;                       
108    // protected PostalCode postalCode;                       
109    // protected Country country;                       
110    public PersonDocumentAddress() {
111        this.active = true;
112    }
113
114    /**
115         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getAddressTypeCode()
116         */
117    public String getAddressTypeCode() {
118        return addressTypeCode;
119    }
120
121    /**
122         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getCity()
123         */
124    public String getCity() {
125        return city;
126    }
127
128    /**
129         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getCountryCode()
130         */
131    public String getCountryCode() {
132        return countryCode;
133    }
134
135    /**
136         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getEntityAddressId()
137         */
138    public String getEntityAddressId() {
139        return entityAddressId;
140    }
141
142    /**
143         * @see org.kuali.rice.kim.api.identity.address.EntityAddressContract#getAttentionLine()
144         */
145    public String getAttentionLine() {
146        return attentionLine;
147    }
148
149    /**
150         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getLine1()
151         */
152    public String getLine1() {
153        return line1;
154    }
155
156    /**
157         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getLine2()
158         */
159    public String getLine2() {
160        return line2;
161    }
162
163    /**
164         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getLine3()
165         */
166    public String getLine3() {
167        return line3;
168    }
169
170    /**
171         * @see @see org.kuali.rice.kim.api.identity.address.EntityAddressContract#getAddressFormat
172         */
173    public String getAddressFormat() {
174        return addressFormat;
175    }
176
177    public Timestamp getModifiedDate() {
178        return modifiedDate;
179    }
180
181    public Timestamp getValidatedDate() {
182        return validatedDate;
183    }
184
185    public boolean isValidated() {
186        return validated;
187    }
188
189    public String getNoteMessage() {
190        return noteMessage;
191    }
192
193    /**
194         * This overridden method ...
195         * 
196         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getPostalCode()
197         */
198    public String getPostalCode() {
199        return postalCode;
200    }
201
202    /**
203         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getStateCode()
204         */
205    public String getStateProvinceCode() {
206        return stateProvinceCode;
207    }
208
209    /**
210         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setAddressTypeCode(java.lang.String)
211         */
212    public void setAddressTypeCode(String addressTypeCode) {
213        this.addressTypeCode = addressTypeCode;
214    }
215
216    /**
217         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setCity(java.lang.String)
218         */
219    public void setCity(String city) {
220        this.city = city;
221    }
222
223    /**
224         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setCountryCode(java.lang.String)
225         */
226    public void setCountryCode(String countryCode) {
227        this.countryCode = countryCode;
228    }
229
230    /**
231         * @see org.kuali.rice.kim.api.identity.address.EntityAddressContract#getAttentionLine()
232         */
233    public void setAttentionLine(String attentionLine) {
234        this.attentionLine = attentionLine;
235    }
236
237    /**
238         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setLine1(java.lang.String)
239         */
240    public void setLine1(String line1) {
241        this.line1 = line1;
242    }
243
244    /**
245         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setLine2(java.lang.String)
246         */
247    public void setLine2(String line2) {
248        this.line2 = line2;
249    }
250
251    /**
252         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setLine3(java.lang.String)
253         */
254    public void setLine3(String line3) {
255        this.line3 = line3;
256    }
257
258    /**
259         * @see org.kuali.rice.kim.api.identity.address.EntityAddressContract#getAddressFormat()
260         */
261    public void setAddressFormat(String addressFormat) {
262        this.addressFormat = addressFormat;
263    }
264
265    public void setModifiedDate(Timestamp modifiedDate) {
266        this.modifiedDate = modifiedDate;
267    }
268
269    public void setValidatedDate(Timestamp validatedDate) {
270        this.validatedDate = validatedDate;
271    }
272
273    public void setValidated(boolean validated) {
274        this.validated = validated;
275    }
276
277    public void setNoteMessage(String noteMessage) {
278        this.noteMessage = noteMessage;
279    }
280
281    /**
282         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setPostalCode(java.lang.String)
283         */
284    public void setPostalCode(String postalCode) {
285        this.postalCode = postalCode;
286    }
287
288    /**
289         * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setStateCode(java.lang.String)
290         */
291    public void setStateProvinceCode(String stateProvinceCode) {
292        this.stateProvinceCode = stateProvinceCode;
293    }
294
295    /**
296         * @see org.kuali.rice.kim.impl.identity.type.EntityTypeContactInfoBo#getEntityTypeCode()
297         */
298    public String getEntityTypeCode() {
299        return entityTypeCode;
300    }
301
302    public void setEntityTypeCode(String entityTypeCode) {
303        this.entityTypeCode = entityTypeCode;
304    }
305
306    public void setEntityAddressId(String entityAddressId) {
307        this.entityAddressId = entityAddressId;
308    }
309
310    public EntityAddressTypeBo getAddressType() {
311        return this.addressType;
312    }
313
314    public void setAddressType(EntityAddressTypeBo addressType) {
315        this.addressType = addressType;
316    }
317}