001 /** 002 * Copyright 2005-2012 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 */ 016 package org.kuali.rice.kim.bo.ui; 017 018 import org.hibernate.annotations.GenericGenerator; 019 import org.hibernate.annotations.Parameter; 020 import org.kuali.rice.kim.api.identity.CodedAttributeContract; 021 import org.kuali.rice.kim.impl.identity.email.EntityEmailTypeBo; 022 023 024 import javax.persistence.*; 025 026 /** 027 * This is a description of what this class does - shyu don't forget to fill this in. 028 * 029 * @author Kuali Rice Team (rice.collab@kuali.org) 030 * 031 */ 032 @IdClass(PersonDocumentEmailId.class) 033 @Entity 034 @Table(name = "KRIM_PND_EMAIL_MT") 035 public class PersonDocumentEmail extends PersonDocumentBoDefaultBase{ 036 @Id 037 @GeneratedValue(generator="KRIM_ENTITY_EMAIL_ID_S") 038 @GenericGenerator(name="KRIM_ENTITY_EMAIL_ID_S",strategy="org.kuali.rice.core.jpa.spring.RiceNumericStringSequenceStyleGenerator",parameters={ 039 @Parameter(name="sequence_name",value="KRIM_ENTITY_EMAIL_ID_S"), 040 @Parameter(name="value_column",value="id") 041 }) 042 @Column(name = "ENTITY_EMAIL_ID") 043 protected String entityEmailId; 044 045 @Column(name = "ENT_TYP_CD") 046 protected String entityTypeCode; 047 048 @Column(name = "EMAIL_TYP_CD") 049 protected String emailTypeCode; 050 051 @Column(name = "EMAIL_ADDR") 052 protected String emailAddress; 053 054 @ManyToOne(targetEntity=EntityEmailTypeBo.class, fetch = FetchType.EAGER, cascade = {}) 055 @JoinColumn(name = "EMAIL_TYP_CD", insertable = false, updatable = false) 056 protected EntityEmailTypeBo emailType; 057 058 public PersonDocumentEmail() { 059 this.active = true; 060 } 061 062 /** 063 * @see org.kuali.rice.kim.api.identity.email.EntityEmailContract#getEmailAddress() 064 */ 065 public String getEmailAddress() { 066 return emailAddress; 067 } 068 069 /** 070 * @see org.kuali.rice.kim.api.identity.email.EntityEmailContract#getEmailType() 071 */ 072 public String getEmailTypeCode() { 073 return emailTypeCode; 074 } 075 076 /** 077 * @see org.kuali.rice.kim.api.identity.email.EntityEmailContract#getId() 078 */ 079 public String getEntityEmailId() { 080 return entityEmailId; 081 } 082 083 /** 084 * @see org.kuali.rice.kim.api.identity.email.EntityEmailContract#setEmailAddress(java.lang.String) 085 */ 086 public void setEmailAddress(String emailAddress) { 087 this.emailAddress = emailAddress; 088 } 089 090 /** 091 * @see org.kuali.rice.kim.api.identity.email.EntityEmailContract#setEmailType(java.lang.String) 092 */ 093 public void setEmailTypeCode(String emailTypeCode) { 094 this.emailTypeCode = emailTypeCode; 095 } 096 097 /** 098 * @see org.kuali.rice.kim.bo.entity.KimDefaultableEntityTypeData#getEntityTypeCode() 099 */ 100 public String getEntityTypeCode() { 101 return entityTypeCode; 102 } 103 104 /** 105 * @see org.kuali.rice.kim.bo.entity.KimDefaultableEntityTypeData#setEntityTypeCode(java.lang.String) 106 */ 107 public void setEntityTypeCode(String entityTypeCode) { 108 this.entityTypeCode = entityTypeCode; 109 } 110 111 public void setEntityEmailId(String entityEmailId) { 112 this.entityEmailId = entityEmailId; 113 } 114 115 public EntityEmailTypeBo getEmailType() { 116 return this.emailType; 117 } 118 119 public void setEmailType(EntityEmailTypeBo emailType) { 120 this.emailType = emailType; 121 } 122 123 }