1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.kew.rule;
17
18 import org.hibernate.annotations.GenericGenerator;
19 import org.hibernate.annotations.Parameter;
20 import org.kuali.rice.core.framework.persistence.jpa.OrmUtils;
21 import org.kuali.rice.kew.api.rule.RuleTemplateOptionContract;
22 import org.kuali.rice.kew.rule.bo.RuleTemplateBo;
23 import org.kuali.rice.kew.service.KEWServiceLocator;
24 import org.kuali.rice.krad.bo.BusinessObjectBase;
25 import org.kuali.rice.krad.service.KRADServiceLocator;
26
27 import javax.persistence.Column;
28 import javax.persistence.Entity;
29 import javax.persistence.FetchType;
30 import javax.persistence.GeneratedValue;
31 import javax.persistence.Id;
32 import javax.persistence.JoinColumn;
33 import javax.persistence.ManyToOne;
34 import javax.persistence.Table;
35 import javax.persistence.Version;
36
37
38
39
40
41
42
43
44
45
46 @Entity
47 @Table(name="KREW_RULE_TMPL_OPTN_T")
48
49 public class RuleTemplateOptionBo extends BusinessObjectBase implements RuleTemplateOptionContract {
50
51 private static final long serialVersionUID = 8913119135197149224L;
52 @Id
53 @GeneratedValue(generator="KREW_RULE_TMPL_OPTN_S")
54 @GenericGenerator(name="KREW_RULE_TMPL_OPTN_S",strategy="org.hibernate.id.enhanced.SequenceStyleGenerator",parameters={
55 @Parameter(name="sequence_name",value="KREW_RULE_TMPL_OPTN_S"),
56 @Parameter(name="value_column",value="id")
57 })
58 @Column(name="RULE_TMPL_OPTN_ID")
59 private String id;
60 @Column(name="RULE_TMPL_ID", insertable=false, updatable=false)
61 private String ruleTemplateId;
62 @Column(name="KEY_CD")
63 private String code;
64 @Column(name="VAL")
65 private String value;
66 @Version
67 @Column(name="VER_NBR")
68 private Long versionNumber;
69
70 @ManyToOne(fetch=FetchType.EAGER)
71 @JoinColumn(name="RULE_TMPL_ID")
72 private RuleTemplateBo ruleTemplate;
73
74 public RuleTemplateOptionBo(){}
75
76 public RuleTemplateOptionBo(String key, String value){
77 this.code = key;
78 this.value = value;
79 }
80
81
82 public void beforeInsert(){
83 OrmUtils.populateAutoIncValue(this, KEWServiceLocator.getEntityManagerFactory().createEntityManager());
84 }
85 @Override
86 public String getCode() {
87 return code;
88 }
89
90 public void setCode(String code) {
91 this.code = code;
92 }
93 @Override
94 public Long getVersionNumber() {
95 return versionNumber;
96 }
97
98 public void setVersionNumber(Long versionNumber) {
99 this.versionNumber = versionNumber;
100 }
101
102 public RuleTemplateBo getRuleTemplate() {
103 return ruleTemplate;
104 }
105
106 public void setRuleTemplate(RuleTemplateBo ruleTemplate) {
107 this.ruleTemplate = ruleTemplate;
108 }
109 @Override
110 public String getRuleTemplateId() {
111 return ruleTemplateId;
112 }
113
114 public void setRuleTemplateId(String ruleTemplateId) {
115 this.ruleTemplateId = ruleTemplateId;
116 }
117 @Override
118 public String getId() {
119 return id;
120 }
121
122 public void setId(String id) {
123 this.id = id;
124 }
125
126 @Override
127 public String getValue() {
128 return value;
129 }
130
131 public void setValue(String value) {
132 this.value = value;
133 }
134
135 @Override
136 public void refresh() {
137 KRADServiceLocator.getPersistenceService().retrieveNonKeyFields(this);
138 }
139 }
140