View Javadoc

1   /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   */
15  
16  package org.kuali.student.r2.lum.lu.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.r1.common.entity.AttributeOwner;
34  import org.kuali.student.r1.common.entity.MetaEntity;
35  
36  @Entity
37  @Table(name = "KSLU_CLU_PUBL")
38  @NamedQueries( {
39      @NamedQuery(name = "CluPublication.findCluPublicationsByType", 
40      		   query = "SELECT cp FROM CluPublication cp WHERE cp.type.id = :luPublicationTypeKey"),
41      @NamedQuery(name = "CluPublication.findPublicationsByCluId", 
42      		   query = "SELECT cp FROM CluPublication cp WHERE cp.clu.id = :cluId")})
43  public class CluPublication extends MetaEntity implements AttributeOwner<CluPublicationAttribute> {
44  
45  	@ManyToOne
46  	@JoinColumn(name = "CLU_ID")
47  	Clu clu;
48  	
49  	@Column(name = "START_CYCLE")
50  	private String startCycle;
51  
52  	@Column(name = "END_CYCLE")
53  	private String endCycle;
54  
55  	@OneToMany(cascade = CascadeType.ALL, mappedBy = "owner")
56  	private List<CluPublicationAttribute> attributes;
57  
58  	@OneToMany(cascade = CascadeType.ALL, mappedBy = "owner")
59  	private List<CluPublicationVariant> variants;
60  	
61      @ManyToOne
62      @JoinColumn(name = "CLU_PUB_TYPE_ID")
63      private CluPublicationType type;
64  
65  	@Column(name = "ST")
66  	private String state;
67  
68  	@Temporal(TemporalType.TIMESTAMP)
69      @Column(name = "EFF_DT")
70      private Date effectiveDate;
71  
72      @Temporal(TemporalType.TIMESTAMP)
73      @Column(name = "EXPIR_DT")
74      private Date expirationDate;
75  	
76  	public String getStartCycle() {
77  		return startCycle;
78  	}
79  
80  	public void setStartCycle(String startCycle) {
81  		this.startCycle = startCycle;
82  	}
83  
84  	public String getEndCycle() {
85  		return endCycle;
86  	}
87  
88  	public void setEndCycle(String endCycle) {
89  		this.endCycle = endCycle;
90  	}
91  
92  	public List<CluPublicationAttribute> getAttributes() {
93  		return attributes;
94  	}
95  
96  	public void setAttributes(List<CluPublicationAttribute> attributes) {
97  		this.attributes = attributes;
98  	}
99  
100 	public CluPublicationType getType() {
101 		return type;
102 	}
103 
104 	public void setType(CluPublicationType type) {
105 		this.type = type;
106 	}
107 
108 	public String getState() {
109 		return state;
110 	}
111 
112 	public void setState(String state) {
113 		this.state = state;
114 	}
115 
116 	public void setVariants(List<CluPublicationVariant> variants) {
117 		this.variants = variants;
118 	}
119 
120 	public List<CluPublicationVariant> getVariants() {
121 		return variants;
122 	}
123 	
124     public Clu getClu() {
125 		return clu;
126 	}
127 
128 	public void setClu(Clu clu) {
129 		this.clu = clu;
130 	}
131 
132 	public Date getEffectiveDate() {
133 		return effectiveDate;
134 	}
135 
136 	public void setEffectiveDate(Date effectiveDate) {
137 		this.effectiveDate = effectiveDate;
138 	}
139 
140 	public Date getExpirationDate() {
141 		return expirationDate;
142 	}
143 
144 	public void setExpirationDate(Date expirationDate) {
145 		this.expirationDate = expirationDate;
146 	}
147 }