1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.student.lum.lo.entity;
17
18 import java.util.Date;
19 import java.util.List;
20
21 import javax.persistence.CascadeType;
22 import javax.persistence.Column;
23 import javax.persistence.Entity;
24 import javax.persistence.JoinColumn;
25 import javax.persistence.ManyToOne;
26 import javax.persistence.NamedQueries;
27 import javax.persistence.NamedQuery;
28 import javax.persistence.OneToMany;
29 import javax.persistence.Table;
30 import javax.persistence.Temporal;
31 import javax.persistence.TemporalType;
32
33 import org.kuali.student.core.entity.AttributeOwner;
34 import org.kuali.student.core.entity.MetaEntity;
35
36
37
38
39 @Entity
40 @Table(name = "KSLO_LO")
41 @NamedQueries( {
42 @NamedQuery(name = "Lo.getAllowedLoLoRelationTypes", query = "SELECT relType.relationTypeId FROM AllowedLoLoRelationType relType WHERE relType.loTypeId = :loTypeKey AND relType.relatedLoTypeId = :relatedLoTypeKey"),
43 @NamedQuery(name = "Lo.getRelatedLosByLoId", query = "SELECT rel.relatedLo FROM LoLoRelation rel WHERE rel.lo.id = :loId AND rel.loLoRelationType.id = :loLoRelationTypeId"),
44 @NamedQuery(name = "Lo.getLosByRelatedLoId", query = "SELECT rel.lo FROM LoLoRelation rel WHERE rel.relatedLo.id = :relatedLoId AND rel.loLoRelationType.id = :loLoRelationTypeId"),
45 @NamedQuery(name = "Lo.getLoCategories", query = "SELECT c FROM LoCategory c WHERE c.loRepository.id = :repositoryId"),
46 @NamedQuery(name = "Lo.findLosByIdList", query = "SELECT l FROM Lo l WHERE l.id IN (:idList)"),
47 @NamedQuery(name = "Lo.getLoCategoriesForLo", query = "SELECT j.loCategory FROM LoLoCategoryJoin j WHERE j.lo.id = :loId"),
48 @NamedQuery(name = "Lo.getLosByLoCategory", query = "SELECT j.lo FROM LoLoCategoryJoin j WHERE j.loCategory.id = :loCategoryId"),
49 @NamedQuery(name = "Lo.getLosByRepository", query = "SELECT l FROM Lo l WHERE l.loRepository.id = :loRepositoryId"),
50 @NamedQuery(name = "Lo.getLoLoRelationsByLoId", query = "SELECT llRel FROM LoLoRelation llRel WHERE llRel.lo.id = :loId OR llRel.relatedLo.id = :loId"),
51 @NamedQuery(name = "Lo.getLoCategoryJoin", query = "SELECT j FROM LoLoCategoryJoin j WHERE j.lo.id = :loId AND j.loCategory.id = :loCategoryId")
52 })
53 public class Lo extends MetaEntity implements AttributeOwner<LoAttribute> {
54
55 @Column(name = "NAME")
56 private
57 String name;
58
59 @ManyToOne(cascade = CascadeType.ALL)
60 @JoinColumn(name = "RT_DESCR_ID")
61 private LoRichText descr;
62
63 @ManyToOne
64 @JoinColumn(name = "LO_REPO_ID")
65 private LoRepository loRepository;
66
67 @Temporal(TemporalType.TIMESTAMP)
68 @Column(name = "EFF_DT")
69 private Date effectiveDate;
70
71 @Temporal(TemporalType.TIMESTAMP)
72 @Column(name = "EXPIR_DT")
73 private Date expirationDate;
74
75 @OneToMany(cascade = CascadeType.ALL, mappedBy = "owner")
76 private List<LoAttribute> attributes;
77
78 @ManyToOne
79 @JoinColumn(name = "LOTYPE_ID")
80 private LoType loType;
81
82 @Column(name = "ST")
83 private String state;
84
85
86
87
88 public void setName(String name) {
89 this.name = name;
90 }
91
92
93
94
95 public String getName() {
96 return name;
97 }
98
99 public LoRichText getDescr() {
100 return descr;
101 }
102
103 public void setDescr(LoRichText descr) {
104 this.descr = descr;
105 }
106
107
108
109
110 public void setLoRepository(LoRepository loRepository) {
111 this.loRepository = loRepository;
112 }
113
114
115
116
117 public LoRepository getLoRepository() {
118 return loRepository;
119 }
120
121 public Date getEffectiveDate() {
122 return effectiveDate;
123 }
124
125 public void setEffectiveDate(Date effectiveDate) {
126 this.effectiveDate = effectiveDate;
127 }
128
129 public Date getExpirationDate() {
130 return expirationDate;
131 }
132
133 public void setExpirationDate(Date expirationDate) {
134 this.expirationDate = expirationDate;
135 }
136
137
138
139
140 @Override
141 public List<LoAttribute> getAttributes() {
142 return attributes;
143 }
144
145
146
147
148 @Override
149 public void setAttributes(List<LoAttribute> attributes) {
150 this.attributes = attributes;
151 }
152
153
154
155
156 public void setLoType(LoType loType) {
157 this.loType = loType;
158 }
159
160
161
162
163 public LoType getLoType() {
164 return loType;
165 }
166
167
168
169
170 public void setState(String state) {
171 this.state = state;
172 }
173
174
175
176
177 public String getState() {
178 return state;
179 }
180 }