001/** 002 * Copyright 2005-2017 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 */ 016package org.kuali.rice.kim.bo.ui; 017 018import java.sql.Timestamp; 019 020import javax.persistence.CascadeType; 021import javax.persistence.Column; 022import javax.persistence.Entity; 023import javax.persistence.GeneratedValue; 024import javax.persistence.Id; 025import javax.persistence.JoinColumn; 026import javax.persistence.ManyToOne; 027import javax.persistence.Table; 028import javax.persistence.Transient; 029 030import org.eclipse.persistence.annotations.JoinFetch; 031import org.eclipse.persistence.annotations.JoinFetchType; 032import org.kuali.rice.kim.impl.identity.name.EntityNameTypeBo; 033import org.kuali.rice.krad.data.jpa.PortableSequenceGenerator; 034 035/** 036 * This is a description of what this class does - shyu don't forget to fill this in. 037 * 038 * @author Kuali Rice Team (rice.collab@kuali.org) 039 * 040 */ 041@Entity 042@Table(name = "KRIM_PND_NM_MT") 043public class PersonDocumentName extends PersonDocumentBoDefaultBase { 044 private static final long serialVersionUID = 1L; 045 046 @PortableSequenceGenerator(name = "KRIM_ENTITY_NM_ID_S") 047 @GeneratedValue(generator = "KRIM_ENTITY_NM_ID_S") 048 @Id 049 @Column(name = "ENTITY_NM_ID") 050 protected String entityNameId; 051 052 //@Column(name = "ENTITY_ID") 053 @Transient 054 protected String entityId; 055 056 @Column(name = "NM_TYP_CD") 057 protected String nameCode; 058 059 @Column(name = "FIRST_NM") 060 protected String firstName; 061 062 @Column(name = "MIDDLE_NM") 063 protected String middleName; 064 065 @Column(name = "LAST_NM") 066 protected String lastName; 067 068 @Column(name = "PREFIX_NM") 069 protected String namePrefix; 070 071 @Column(name = "TITLE_NM") 072 protected String nameTitle; 073 074 @Column(name = "SUFFIX_NM") 075 protected String nameSuffix; 076 077 @Column(name = "NOTE_MSG") 078 protected String noteMessage; 079 080 @Column(name = "NM_CHNG_DT") 081 protected Timestamp nameChangedDate; 082 083 @JoinFetch(value= JoinFetchType.OUTER) 084 @ManyToOne(targetEntity = EntityNameTypeBo.class, cascade = { CascadeType.REFRESH }) 085 @JoinColumn(name = "NM_TYP_CD", referencedColumnName = "ENT_NM_TYP_CD", insertable = false, updatable = false) 086 protected EntityNameTypeBo entityNameType; 087 088 public PersonDocumentName() { 089 this.active = true; 090 } 091 092 /** 093 * @see org.kuali.rice.kim.api.identity.name.EntityNameContract#getEntityNameId() 094 */ 095 public String getEntityNameId() { 096 return entityNameId; 097 } 098 099 /** 100 * @see org.kuali.rice.kim.api.identity.name.EntityNameContract#getFirstName() 101 */ 102 public String getFirstName() { 103 return firstName; 104 } 105 106 /** 107 * @see org.kuali.rice.kim.api.identity.name.EntityNameContract#getLastName() 108 */ 109 public String getLastName() { 110 return lastName; 111 } 112 113 /** 114 * @see org.kuali.rice.kim.api.identity.name.EntityNameContract#getMiddleName() 115 */ 116 public String getMiddleName() { 117 return middleName; 118 } 119 120 /** 121 * @see org.kuali.rice.kim.api.identity.name.EntityNameContract#getNameTypeCode() 122 */ 123 public String getNameCode() { 124 return nameCode; 125 } 126 127 /** 128 * @see org.kuali.rice.kim.api.identity.name.EntityNameContract#getNameSuffix() 129 */ 130 public String getNameSuffix() { 131 return nameSuffix; 132 } 133 134 /** 135 * @see org.kuali.rice.kim.api.identity.name.EntityNameContract#getNamePrefix() 136 */ 137 public String getNamePrefix() { 138 return namePrefix; 139 } 140 141 public String getNameTitle() { 142 return nameTitle; 143 } 144 145 public String getNoteMessage() { 146 return noteMessage; 147 } 148 149 public Timestamp getNameChangedDate() { 150 return nameChangedDate; 151 } 152 153 public void setFirstName(String firstName) { 154 this.firstName = firstName; 155 } 156 157 public void setLastName(String lastName) { 158 this.lastName = lastName; 159 } 160 161 public void setMiddleName(String middleName) { 162 this.middleName = middleName; 163 } 164 165 public void setNameCode(String nameCode) { 166 this.nameCode = nameCode; 167 } 168 169 public void setNameSuffix(String nameSuffix) { 170 this.nameSuffix = nameSuffix; 171 } 172 173 public void setNamePrefix(String namePrefix) { 174 this.namePrefix = namePrefix; 175 } 176 177 public void setNameTitle(String nameTitle) { 178 this.nameTitle = nameTitle; 179 } 180 181 public void setNoteMessage(String noteMessage) { 182 this.noteMessage = noteMessage; 183 } 184 185 public void setNameChangedDate(Timestamp timestamp) { 186 this.nameChangedDate = timestamp; 187 } 188 189 /** 190 * This default implementation formats the name as LAST, FIRST MIDDLE. 191 * 192 * @see org.kuali.rice.kim.api.identity.name.EntityNameContract#getCompositeName() 193 */ 194 public String getCompositeName() { 195 return getLastName() + ", " + getFirstName() + " " + getMiddleName(); 196 } 197 198 public String getEntityId() { 199 return this.entityId; 200 } 201 202 public void setEntityId(String entityId) { 203 this.entityId = entityId; 204 } 205 206 public EntityNameTypeBo getEntityNameType() { 207 return this.entityNameType; 208 } 209 210 public void setEntityNameType(EntityNameTypeBo entityNameType) { 211 this.entityNameType = entityNameType; 212 } 213 214 public void setEntityNameId(String entityNameId) { 215 this.entityNameId = entityNameId; 216 } 217}