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 }