View Javadoc
1   /**
2    * Copyright 2005-2014 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.rice.kim.api.identity.address;
17  
18  import org.joda.time.DateTime;
19  import org.kuali.rice.core.api.mo.common.Defaultable;
20  import org.kuali.rice.core.api.mo.common.GloballyUnique;
21  import org.kuali.rice.core.api.mo.common.Identifiable;
22  import org.kuali.rice.core.api.mo.common.Versioned;
23  import org.kuali.rice.core.api.mo.common.active.Inactivatable;
24  import org.kuali.rice.kim.api.identity.CodedAttributeContract;
25  
26  /**
27   * address information for a KIM identity
28   * 
29   * @author Kuali Rice Team (rice.collab@kuali.org)
30   *
31   */
32  public interface EntityAddressContract extends Versioned, GloballyUnique, Defaultable, Inactivatable, Identifiable {
33  
34      /**
35       * Gets this id of the parent identity object.
36       * @return the identity id for this {@link EntityAddressContract}
37       */
38      String getEntityId();
39  
40      /**
41       * Gets this entityTypeCode of the {@link EntityAddressContract}'s object.
42       * @return the identity type code for this {@link EntityAddressContract}
43       */
44      String getEntityTypeCode();
45  
46      /**
47       * Gets this {@link EntityAddressContract}'s address type code.
48       * @return the address type for this {@link EntityAddressContract}, or null if none has been assigned.
49       */
50  	CodedAttributeContract getAddressType();
51  
52      /**
53       * Returns the attention line for this {@link EntityAddressContract}
54       * Corresponds to PESC AttentionLine
55       * @return the attention line
56       */
57      String getAttentionLine();
58  
59      /**
60       * Gets this {@link EntityAddressContract}'s first line.
61       * @return the first line for this {@link EntityAddressContract}, or null if none has been assigned.
62       */
63  	String getLine1();
64  	
65  	/**
66  	 * Gets this {@link EntityAddressContract}'s second line.
67  	 * @return the second line for this {@link EntityAddressContract}, or null if none has been assigned.
68  	 */
69  	String getLine2();
70  	
71  	/**
72       * Gets this {@link EntityAddressContract}'s third line.
73       * @return the third line for this {@link EntityAddressContract}, or null if none has been assigned.
74       */
75  	String getLine3();
76  	
77  	/**
78       * Gets this {@link EntityAddressContract}'s city name.
79       * Corresponds to PESC City.
80       * @return the city name for this {@link EntityAddressContract}, or null if none has been assigned.
81       */
82  	String getCity();
83  	
84  	/**
85       * Gets this {@link EntityAddressContract}'s state code.
86       * Corresponds to PESC StateProvinceCode.
87       * @return the state code for this {@link EntityAddressContract}, or null if none has been assigned.
88       */
89  	String getStateProvinceCode();
90  	
91  	/**
92       * Gets this {@link EntityAddressContract}'s postal code.
93       * @return the postal code for this {@link EntityAddressContract}, or null if none has been assigned.
94       */
95  	String getPostalCode();
96  	
97  	/**
98       * Gets this {@link EntityAddressContract}'s country code.
99       * @return the country code for this {@link EntityAddressContract}, or null if none has been assigned.
100      */
101 	String getCountryCode();
102 
103     /**
104      * Returns the unmasked attention line for this {@link EntityAddressContract}
105      * @return the unmasked attention line
106      */
107     String getAttentionLineUnmasked();
108 
109 	/**
110      * Gets this {@link EntityAddressContract}'s unmasked first line.
111      * @return the unmasked first line for this {@link EntityAddressContract}, or null if none has been assigned.
112      */
113 	String getLine1Unmasked();
114 	
115 	/**
116      * Gets this {@link EntityAddressContract}'s unmasked second line.
117      * @return the unmasked second line for this {@link EntityAddressContract}, or null if none has been assigned.
118      */
119     String getLine2Unmasked();
120     
121     /**
122      * Gets this {@link EntityAddressContract}'s unmasked third line.
123      * @return the unmasked third line for this {@link EntityAddressContract}, or null if none has been assigned.
124      */
125     String getLine3Unmasked();
126     
127     /**
128      * Gets this {@link EntityAddressContract}'s unmasked city name.
129      * @return the unmasked city name for this {@link EntityAddressContract}, or null if none has been assigned.
130      */
131     String getCityUnmasked();
132     
133     /**
134      * Gets this {@link EntityAddressContract}'s unmasked state code.
135      * @return the unmasked state code for this {@link EntityAddressContract}, or null if none has been assigned.
136      */
137     String getStateProvinceCodeUnmasked();
138     
139     /**
140      * Gets this {@link EntityAddressContract}'s unmasked postal code.
141      * @return the unmasked postal code for this {@link EntityAddressContract}, or null if none has been assigned.
142      */
143     String getPostalCodeUnmasked();
144     
145     /**
146      * Gets this {@link EntityAddressContract}'s unmasked country code.
147      * @return the unmasked country code for this {@link EntityAddressContract}, or null if none has been assigned.
148      */
149     String getCountryCodeUnmasked();
150 
151     /**
152      * Returns the {@link EntityAddressContract}'s address format
153      * Corresponds to PESC AddressFormat
154      * @return the address format or null if none is set
155      */
156     String getAddressFormat();
157 
158     /**
159      * Returns the {@link EntityAddressContract}'s modification date
160      * Corresponds to PESC ModifiedDate
161      * @return the modification date
162      */
163     DateTime getModifiedDate();
164 
165     /**
166      * Returns the {@link EntityAddressContract}'s validation date
167      * Corresponds to PESC ValidatedDate
168      * @return the validation date or null if none is set
169      */
170     DateTime getValidatedDate();
171 
172     /**
173      * Returns whether the {@link EntityAddressContract} is validated
174      * Corresponds to PESC Validated
175      * @return whether the address is validated
176      */
177     boolean isValidated();
178 
179     /**
180      * Returns the {@link EntityAddressContract}'s note/message
181      * Corresponds to PESC NoteMessage
182      * @return the note/message or null if none is set
183      */
184     String getNoteMessage();
185 
186     /**
187      * Returns a boolean value that determines if address fields should be suppressed.
188      * @return boolean value that determines if address should be suppressed.
189      */
190     boolean isSuppressAddress();
191 }