1 package org.kuali.rice.kim.api.identity.name;
2
3 import org.kuali.rice.core.api.mo.common.Defaultable;
4 import org.kuali.rice.core.api.mo.common.GloballyUnique;
5 import org.kuali.rice.core.api.mo.common.Identifiable;
6 import org.kuali.rice.core.api.mo.common.Versioned;
7 import org.kuali.rice.core.api.mo.common.active.Inactivatable;
8 import org.kuali.rice.kim.api.identity.TypeContract;
9
10 public interface EntityNameContract extends Versioned, GloballyUnique, Defaultable, Inactivatable, Identifiable {
11 /**
12 * Gets this {@link Entity}'s id.
13 * @return the id for this {@link EntityNameContract}, or null if none has been assigned.
14 */
15 String getEntityId();
16
17 /**
18 * Gets this {@link EntityNameContract}'s TypeContract.
19 * @return the type for this {@link EntityNameContract}, or null if none has been assigned.
20 */
21 TypeContract getNameType();
22
23 /**
24 * Gets this {@link EntityNameContract}'s first name.
25 * @return the first name for this {@link EntityNameContract}, or null if none has been assigned.
26 */
27 String getFirstName();
28
29 /**
30 * Gets this {@link EntityNameContract}'s unmasked first name.
31 * @return the unmasked first name for this {@link EntityNameContract}, or null if none has been assigned.
32 */
33 String getFirstNameUnmasked();
34
35 /**
36 * Gets this {@link EntityNameContract}'s middle name.
37 * @return the middle name for this {@link EntityNameContract}, or null if none has been assigned.
38 */
39 String getMiddleName();
40
41 /**
42 * Gets this {@link EntityNameContract}'s unmasked middle name.
43 * @return the unmasked middle name for this {@link EntityNameContract}, or null if none has been assigned.
44 */
45 String getMiddleNameUnmasked();
46
47 /**
48 * Gets this {@link EntityNameContract}'s last name.
49 * @return the last name for this {@link EntityNameContract}, or null if none has been assigned.
50 */
51 String getLastName();
52
53 /**
54 * Gets this {@link EntityNameContract}'s unmasked last name.
55 * @return the unmasked last name for this {@link EntityNameContract}, or null if none has been assigned.
56 */
57 String getLastNameUnmasked();
58
59 /**
60 * Gets this {@link EntityNameContract}'s title.
61 * @return the title for this {@link EntityNameContract}, or null if none has been assigned.
62 */
63 String getTitle();
64
65 /**
66 * Gets this {@link EntityNameContract}'s unmasked title.
67 * @return the unmasked title for this {@link EntityNameContract}, or null if none has been assigned.
68 */
69 String getTitleUnmasked();
70
71 /**
72 * Gets this {@link EntityNameContract}'s suffix.
73 * @return the suffix for this {@link EntityNameContract}, or null if none has been assigned.
74 */
75 String getSuffix();
76
77 /**
78 * Gets this {@link EntityNameContract}'s unmasked suffix.
79 * @return the unmasked suffix for this {@link EntityNameContract}, or null if none has been assigned.
80 */
81 String getSuffixUnmasked();
82
83 /**
84 * Return the entire name as the person or system wants it displayed.
85 * @return the complete name in the format of "lastName, firstName middleName"
86 */
87 String getFormattedName();
88
89 /**
90 * Gets this {@link EntityNameContract}'s unmasked formatted name.
91 * @return the complete name in the format of "lastName, firstName middleName"
92 */
93 String getFormattedNameUnmasked();
94
95 /**
96 * Returns a boolean value that determines if email fields should be suppressed.
97 * @return boolean value that determines if email should be suppressed.
98 */
99 boolean isSuppressName();
100 }