1 /*
2 * Copyright 2007-2008 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.bo.entity;
17
18 import org.kuali.rice.kns.bo.DefaultableInactivateable;
19
20 /**
21 * name information for a KIM entity
22 *
23 * @author Kuali Rice Team (rice.collab@kuali.org)
24 *
25 */
26 public interface KimEntityName extends DefaultableInactivateable {
27
28 /**
29 * Gets this {@link KimEntityName}'s id.
30 * @return the id for this {@link KimEntityName}, or null if none has been assigned.
31 */
32 String getEntityNameId();
33
34 /**
35 * Gets this {@link KimEntityName}'s type code.
36 * @return the type code for this {@link KimEntityName}, or null if none has been assigned.
37 */
38 String getNameTypeCode();
39
40 /**
41 * Gets this {@link KimEntityName}'s first name.
42 * @return the first name for this {@link KimEntityName}, or null if none has been assigned.
43 */
44 String getFirstName();
45
46 /**
47 * Gets this {@link KimEntityName}'s unmasked first name.
48 * @return the unmasked first name for this {@link KimEntityName}, or null if none has been assigned.
49 */
50 String getFirstNameUnmasked();
51
52 /**
53 * Gets this {@link KimEntityName}'s middle name.
54 * @return the middle name for this {@link KimEntityName}, or null if none has been assigned.
55 */
56 String getMiddleName();
57
58 /**
59 * Gets this {@link KimEntityName}'s unmasked middle name.
60 * @return the unmasked middle name for this {@link KimEntityName}, or null if none has been assigned.
61 */
62 String getMiddleNameUnmasked();
63
64 /**
65 * Gets this {@link KimEntityName}'s last name.
66 * @return the last name for this {@link KimEntityName}, or null if none has been assigned.
67 */
68 String getLastName();
69
70 /**
71 * Gets this {@link KimEntityName}'s unmasked last name.
72 * @return the unmasked last name for this {@link KimEntityName}, or null if none has been assigned.
73 */
74 String getLastNameUnmasked();
75
76 /**
77 * Gets this {@link KimEntityName}'s title.
78 * @return the title for this {@link KimEntityName}, or null if none has been assigned.
79 */
80 String getTitle();
81
82 /**
83 * Gets this {@link KimEntityName}'s unmasked title.
84 * @return the unmasked title for this {@link KimEntityName}, or null if none has been assigned.
85 */
86 String getTitleUnmasked();
87
88 /**
89 * Gets this {@link KimEntityName}'s suffix.
90 * @return the suffix for this {@link KimEntityName}, or null if none has been assigned.
91 */
92 String getSuffix();
93
94 /**
95 * Gets this {@link KimEntityName}'s unmasked suffix.
96 * @return the unmasked suffix for this {@link KimEntityName}, or null if none has been assigned.
97 */
98 String getSuffixUnmasked();
99
100 /**
101 * Return the entire name as the person or system wants it displayed.
102 */
103 String getFormattedName();
104
105 /**
106 * Gets this {@link KimEntityName}'s unmasked formatted name.
107 */
108 String getFormattedNameUnmasked();
109
110 boolean isSuppressName();
111 }