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 }