001    /**
002     * Copyright 2005-2014 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 javax.persistence.CascadeType;
019    import javax.persistence.Column;
020    import javax.persistence.Embeddable;
021    import javax.persistence.FetchType;
022    import javax.persistence.GeneratedValue;
023    import javax.persistence.Id;
024    import javax.persistence.JoinColumn;
025    import javax.persistence.MappedSuperclass;
026    import javax.persistence.OneToOne;
027    import javax.persistence.Transient;
028    
029    import org.kuali.rice.kim.impl.common.attribute.KimAttributeBo;
030    import org.kuali.rice.krad.data.jpa.PortableSequenceGenerator;
031    
032    /**
033     * This class is the base class for KIM documents sub-business objects that store attribute/qualifier data
034     * 
035     * @author Kuali Rice Team (rice.collab@kuali.org)
036     *
037     */
038    @MappedSuperclass
039    public class KimDocumentAttributeDataBusinessObjectBase extends KimDocumentBoActivatableEditableBase {
040    
041        private static final long serialVersionUID = -1512640359333185819L;
042    
043            @Id
044            @Column(name = "ATTR_DATA_ID")
045        @GeneratedValue(generator="KRIM_ATTR_DATA_ID_S")
046        @PortableSequenceGenerator(name = "KRIM_ATTR_DATA_ID_S" )
047            private String attrDataId;
048    
049            @Column(name = "KIM_TYP_ID")
050            private String kimTypId;
051            
052            @Column(name = "KIM_ATTR_DEFN_ID")
053            private String kimAttrDefnId;
054            
055            @Column(name = "ATTR_VAL")
056            private String attrVal = "";
057            
058            @OneToOne(targetEntity=KimAttributeBo.class, fetch=FetchType.EAGER, cascade={ CascadeType.REFRESH } )
059        @JoinColumn(name="KIM_ATTR_DEFN_ID",insertable=false,updatable=false)
060            
061            private KimAttributeBo kimAttribute;
062            
063            @Transient
064            private String qualifierKey;
065            
066            @Transient
067            private Boolean unique;
068            
069            public KimDocumentAttributeDataBusinessObjectBase() {
070                    super();
071            }
072    
073            public String getAttrDataId() {
074                    return attrDataId;
075            }
076    
077            public void setAttrDataId(String attrDataId) {
078                    this.attrDataId = attrDataId;
079            }
080    
081            public String getKimTypId() {
082                    return kimTypId;
083            }
084    
085            public void setKimTypId(String kimTypId) {
086                    this.kimTypId = kimTypId;
087            }
088    
089            public String getKimAttrDefnId() {
090                    return kimAttrDefnId;
091            }
092    
093            public void setKimAttrDefnId(String kimAttrDefnId) {
094                    this.kimAttrDefnId = kimAttrDefnId;
095            }
096    
097            public String getAttrVal() {
098                    return attrVal;
099            }
100    
101            public void setAttrVal(String attrVal) {
102                    this.attrVal = attrVal;
103            }
104    
105            public String getQualifierKey() {
106                    return this.qualifierKey;
107            }
108    
109            public void setQualifierKey(String qualifierKey) {
110                    this.qualifierKey = qualifierKey;
111            }
112    
113            /**
114             * @return the kimAttribute
115             */
116            public KimAttributeBo getKimAttribute() {
117                    return this.kimAttribute;
118            }
119    
120            /**
121             * @param kimAttribute the kimAttribute to set
122             */
123            public void setKimAttribute(KimAttributeBo kimAttribute) {
124                    this.kimAttribute = kimAttribute;
125            }
126    
127            /**
128             * @return the uniqueAndReadOnly
129             */
130            public Boolean isUnique() {
131                    return this.unique;
132            }
133    
134            /**
135             * @param uniqueAndReadOnly the uniqueAndReadOnly to set
136             */
137            public void setUnique(Boolean unique) {
138                    this.unique = unique;
139            }
140    
141    }