001    /**
002     * Copyright 2005-2012 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 org.kuali.rice.kim.bo.ui;
017    
018    import org.hibernate.annotations.GenericGenerator;
019    import org.hibernate.annotations.Parameter;
020    import org.hibernate.annotations.Type;
021    import org.kuali.rice.kim.impl.identity.address.EntityAddressTypeBo;
022    
023    import javax.persistence.Column;
024    import javax.persistence.Entity;
025    import javax.persistence.FetchType;
026    import javax.persistence.GeneratedValue;
027    import javax.persistence.Id;
028    import javax.persistence.IdClass;
029    import javax.persistence.JoinColumn;
030    import javax.persistence.ManyToOne;
031    import javax.persistence.Table;
032    import javax.persistence.Transient;
033    import java.sql.Timestamp;
034    
035    /**
036     * This is a description of what this class does - shyu don't forget to fill this in. 
037     * 
038     * @author Kuali Rice Team (rice.collab@kuali.org)
039     *
040     */
041    @IdClass(PersonDocumentAddressId.class)
042    @Entity
043    @Table(name = "KRIM_PND_ADDR_MT")
044    public class PersonDocumentAddress extends PersonDocumentBoDefaultBase {
045            @Id
046            @GeneratedValue(generator="KRIM_ENTITY_ADDR_ID_S")
047            @GenericGenerator(name="KRIM_ENTITY_ADDR_ID_S",strategy="org.kuali.rice.core.jpa.spring.RiceNumericStringSequenceStyleGenerator",parameters={
048                            @Parameter(name="sequence_name",value="KRIM_ENTITY_ADDR_ID_S"),
049                            @Parameter(name="value_column",value="id")
050                    })
051            @Column(name = "ENTITY_ADDR_ID")
052            protected String entityAddressId;
053    
054    
055            @Column(name = "ADDR_TYP_CD")
056            protected String addressTypeCode;
057    
058            //@Column(name = "ENT_TYP_CD")
059            @Transient
060            protected String entityTypeCode;
061    
062            @Column(name = "CITY_NM")
063            protected String city;
064    
065            @Column(name = "STATE_PVC_CD")
066            protected String stateProvinceCode;
067    
068            @Column(name = "POSTAL_CD")
069            protected String postalCode;
070    
071            @Column(name = "POSTAL_CNTRY_CD")
072            protected String countryCode;
073    
074        @Column(name = "ATTN_LINE")
075            protected String attentionLine;
076    
077            @Column(name = "ADDR_LINE_1")
078            protected String line1;
079    
080            @Column(name = "ADDR_LINE_2")
081            protected String line2;
082    
083            @Column(name = "ADDR_LINE_3")
084            protected String line3;
085    
086        @Column(name = "ADDR_FMT")
087        protected String addressFormat;
088    
089        @Column(name = "MOD_DT")
090        protected Timestamp modifiedDate;
091    
092        @Column(name = "VALID_DT")
093        protected Timestamp validatedDate;
094    
095        @Type(type="yes_no")
096            @Column(name="VALID_IND")
097        protected boolean validated;
098    
099        @Column(name = "NOTE_MSG")
100            protected String noteMessage;
101    
102            @ManyToOne(targetEntity=EntityAddressTypeBo.class, fetch = FetchType.EAGER, cascade = {})
103            @JoinColumn(name = "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    }