001    /*
002     * Copyright 2007-2008 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.kuali.rice.kim.impl.identity.address.EntityAddressTypeBo;
021    
022    import javax.persistence.Column;
023    import javax.persistence.Entity;
024    import javax.persistence.FetchType;
025    import javax.persistence.GeneratedValue;
026    import javax.persistence.Id;
027    import javax.persistence.IdClass;
028    import javax.persistence.JoinColumn;
029    import javax.persistence.ManyToOne;
030    import javax.persistence.Table;
031    import javax.persistence.Transient;
032    
033    /**
034     * This is a description of what this class does - shyu don't forget to fill this in. 
035     * 
036     * @author Kuali Rice Team (rice.collab@kuali.org)
037     *
038     */
039    @IdClass(PersonDocumentAddressId.class)
040    @Entity
041    @Table(name = "KRIM_PND_ADDR_MT")
042    public class PersonDocumentAddress extends PersonDocumentBoDefaultBase {
043            @Id
044            @GeneratedValue(generator="KRIM_ENTITY_ADDR_ID_S")
045            @GenericGenerator(name="KRIM_ENTITY_ADDR_ID_S",strategy="org.kuali.rice.core.jpa.spring.RiceNumericStringSequenceStyleGenerator",parameters={
046                            @Parameter(name="sequence_name",value="KRIM_ENTITY_ADDR_ID_S"),
047                            @Parameter(name="value_column",value="id")
048                    })
049            @Column(name = "ENTITY_ADDR_ID")
050            protected String entityAddressId;
051    
052    
053            @Column(name = "ADDR_TYP_CD")
054            protected String addressTypeCode;
055    
056            //@Column(name = "ENT_TYP_CD")
057            @Transient
058            protected String entityTypeCode;
059    
060            @Column(name = "CITY_NM")
061            protected String city;
062    
063            @Column(name = "STATE_PVC_CD")
064            protected String stateProvinceCode;
065    
066            @Column(name = "POSTAL_CD")
067            protected String postalCode;
068    
069            @Column(name = "POSTAL_CNTRY_CD")
070            protected String countryCode;
071    
072            @Column(name = "ADDR_LINE_1")
073            protected String line1;
074    
075            @Column(name = "ADDR_LINE_2")
076            protected String line2;
077    
078            @Column(name = "ADDR_LINE_3")
079            protected String line3;
080    
081            @ManyToOne(targetEntity=EntityAddressTypeBo.class, fetch = FetchType.EAGER, cascade = {})
082            @JoinColumn(name = "ADDR_TYP_CD", insertable = false, updatable = false)
083            private EntityAddressTypeBo addressType;
084    
085            // Waiting until we pull in from KFS
086            // protected State state;
087            // protected PostalCode postalCode;
088            // protected Country country;
089            public PersonDocumentAddress() {
090                    this.active = true;
091            }
092    
093            /**
094             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getAddressTypeCode()
095             */
096            public String getAddressTypeCode() {
097                    return addressTypeCode;
098            }
099    
100            /**
101             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getCity()
102             */
103            public String getCity() {
104                    return city;
105            }
106    
107            /**
108             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getCountryCode()
109             */
110            public String getCountryCode() {
111                    return countryCode;
112            }
113    
114            /**
115             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getEntityAddressId()
116             */
117            public String getEntityAddressId() {
118                    return entityAddressId;
119            }
120    
121            /**
122             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getLine1()
123             */
124            public String getLine1() {
125                    return line1;
126            }
127    
128            /**
129             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getLine2()
130             */
131            public String getLine2() {
132                    return line2;
133            }
134    
135            /**
136             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getLine3()
137             */
138            public String getLine3() {
139                    return line3;
140            }
141    
142            /**
143             * This overridden method ...
144             * 
145             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getPostalCode()
146             */
147            public String getPostalCode() {
148                    return postalCode;
149            }
150    
151            /**
152             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#getStateCode()
153             */
154            public String getStateProvinceCode() {
155                    return stateProvinceCode;
156            }
157    
158            /**
159             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setAddressTypeCode(java.lang.String)
160             */
161            public void setAddressTypeCode(String addressTypeCode) {
162                    this.addressTypeCode = addressTypeCode;
163            }
164    
165            /**
166             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setCity(java.lang.String)
167             */
168            public void setCity(String city) {
169                    this.city = city;
170            }
171    
172            /**
173             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setCountryCode(java.lang.String)
174             */
175            public void setCountryCode(String countryCode) {
176                    this.countryCode = countryCode;
177            }
178    
179            /**
180             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setLine1(java.lang.String)
181             */
182            public void setLine1(String line1) {
183                    this.line1 = line1;
184            }
185    
186            /**
187             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setLine2(java.lang.String)
188             */
189            public void setLine2(String line2) {
190                    this.line2 = line2;
191            }
192    
193            /**
194             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setLine3(java.lang.String)
195             */
196            public void setLine3(String line3) {
197                    this.line3 = line3;
198            }
199    
200            /**
201             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setPostalCode(java.lang.String)
202             */
203            public void setPostalCode(String postalCode) {
204                    this.postalCode = postalCode;
205            }
206    
207            /**
208             * @see org.kuali.rice.kim.bo.entity.KimEntityAddress#setStateCode(java.lang.String)
209             */
210            public void setStateProvinceCode(String stateProvinceCode) {
211                    this.stateProvinceCode = stateProvinceCode;
212            }
213    
214            /**
215             * @see org.kuali.rice.kim.impl.identity.type.EntityTypeContactInfoBo#getEntityTypeCode()
216             */
217            public String getEntityTypeCode() {
218                    return entityTypeCode;
219            }
220    
221            public void setEntityTypeCode(String entityTypeCode) {
222                    this.entityTypeCode = entityTypeCode;
223            }
224    
225            public void setEntityAddressId(String entityAddressId) {
226                    this.entityAddressId = entityAddressId;
227            }
228    
229            public EntityAddressTypeBo getAddressType() {
230                    return this.addressType;
231            }
232    
233            public void setAddressType(EntityAddressTypeBo addressType) {
234                    this.addressType = addressType;
235            }
236    }