1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.kim.bo.ui;
17
18 import java.util.List;
19
20 import javax.persistence.CascadeType;
21 import javax.persistence.Column;
22 import javax.persistence.Entity;
23 import javax.persistence.FetchType;
24 import javax.persistence.GeneratedValue;
25 import javax.persistence.Id;
26 import javax.persistence.IdClass;
27 import javax.persistence.JoinColumn;
28 import javax.persistence.JoinColumns;
29 import javax.persistence.OneToMany;
30 import javax.persistence.Table;
31 import javax.persistence.Transient;
32
33 import org.hibernate.annotations.Fetch;
34 import org.hibernate.annotations.FetchMode;
35 import org.hibernate.annotations.GenericGenerator;
36 import org.hibernate.annotations.Parameter;
37 import org.kuali.rice.core.api.delegation.DelegationType;
38 import org.springframework.util.AutoPopulatingList;
39
40
41
42
43
44
45
46 @IdClass(RoleDocumentDelegationId.class)
47 @Entity
48 @Table(name="KRIM_PND_DLGN_T")
49 public class RoleDocumentDelegation extends KimDocumentBoActivatableBase {
50
51 private static final long serialVersionUID = 1L;
52
53 @Id
54 @GeneratedValue(generator="KRIM_DLGN_ID_S")
55 @GenericGenerator(name="KRIM_DLGN_ID_S",strategy="org.kuali.rice.core.jpa.spring.RiceNumericStringSequenceStyleGenerator",parameters={
56 @Parameter(name="sequence_name",value="KRIM_DLGN_ID_S"),
57 @Parameter(name="value_column",value="id")
58 })
59 @Column(name="DLGN_ID")
60 protected String delegationId;
61
62 @Column(name="ROLE_ID")
63 protected String roleId;
64
65 @Column(name="KIM_TYP_ID")
66 protected String kimTypeId;
67
68 @Column(name="DLGN_TYP_CD")
69 protected String delegationTypeCode;
70
71 @OneToMany(targetEntity=RoleDocumentDelegationMember.class, fetch=FetchType.EAGER, cascade={CascadeType.ALL})
72 @Fetch(value = FetchMode.SELECT)
73 @JoinColumns({
74 @JoinColumn(name="dlgn_id",insertable=false,updatable=false),
75 @JoinColumn(name="fdoc_nbr", insertable=false, updatable=false)
76 })
77 private List<RoleDocumentDelegationMember> members = new AutoPopulatingList(RoleDocumentDelegationMember.class);
78
79 @Transient
80 private RoleDocumentDelegationMember member = new RoleDocumentDelegationMember();
81
82 @Transient
83 protected List<KimDocumentRoleQualifier> qualifiers = new AutoPopulatingList(KimDocumentRoleQualifier.class);
84
85 public String getRoleId() {
86 return this.roleId;
87 }
88
89 public void setRoleId(String roleId) {
90 this.roleId = roleId;
91 }
92
93 public String getKimTypeId() {
94 return this.kimTypeId;
95 }
96
97 public void setKimTypeId(String typeId) {
98 this.kimTypeId = typeId;
99 }
100
101 public String getDelegationTypeCode() {
102 return this.delegationTypeCode;
103 }
104
105 public void setDelegationTypeCode(String delegationTypeCode) {
106 this.delegationTypeCode = delegationTypeCode;
107 }
108
109 public String getDelegationId() {
110 return this.delegationId;
111 }
112
113 public void setDelegationId(String delegationId) {
114 this.delegationId = delegationId;
115 }
116
117
118
119
120 public List<KimDocumentRoleQualifier> getQualifiers() {
121 return this.qualifiers;
122 }
123
124
125
126
127 public void setQualifiers(List<KimDocumentRoleQualifier> qualifiers) {
128 this.qualifiers = qualifiers;
129 }
130
131 public int getNumberOfQualifiers(){
132 return qualifiers==null?0:qualifiers.size();
133 }
134
135
136
137
138 public List<RoleDocumentDelegationMember> getMembers() {
139 return this.members;
140 }
141
142
143
144
145 public void setMembers(List<RoleDocumentDelegationMember> members) {
146 this.members = members;
147 }
148
149
150
151
152 public RoleDocumentDelegationMember getMember() {
153 return this.member;
154 }
155
156
157
158
159 public void setMember(RoleDocumentDelegationMember member) {
160 this.member = member;
161 }
162
163 public boolean isDelegationPrimary(){
164 return DelegationType.PRIMARY.getCode().equals(getDelegationTypeCode());
165 }
166
167 public boolean isDelegationSecondary(){
168 return DelegationType.SECONDARY.getCode().equals(getDelegationTypeCode());
169 }
170
171 }