root/trunk/cdmlib/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/view/View.java

Revision 10919, 2.6 kB (checked in by a.mueller, 18 months ago)

merge 3.0.2 to trunk

  • Property svn:keywords set to Id
Line 
1/**
2* Copyright (C) 2007 EDIT
3* European Distributed Institute of Taxonomy
4* http://www.e-taxonomy.eu
5*
6* The contents of this file are subject to the Mozilla Public License Version 1.1
7* See LICENSE.TXT at the top of this package for the full license terms.
8*/
9
10package eu.etaxonomy.cdm.model.view;
11
12
13import org.apache.log4j.Logger;
14import org.hibernate.annotations.Cascade;
15import org.hibernate.annotations.CascadeType;
16
17import eu.etaxonomy.cdm.model.common.CdmBase;
18import eu.etaxonomy.cdm.model.common.ICdmBase;
19import eu.etaxonomy.cdm.model.common.IReferencedEntity;
20import eu.etaxonomy.cdm.model.reference.Reference;
21
22import java.util.*;
23
24import javax.persistence.*;
25
26/**
27 * use ARCHIVE view/dataset to maintain an archive. All members of that view will
28 * never be changed
29 * @author m.doering
30 * @version 1.0
31 * @created 08-Nov-2007 13:07:01
32 */
33@Entity(name="CDM_VIEW")
34public class View extends CdmBase implements IReferencedEntity{
35        private static final long serialVersionUID = 3668860188614455213L;
36        private static final Logger logger = Logger.getLogger(View.class);
37       
38        private String name;
39        private String description;
40        @ManyToOne(fetch = FetchType.LAZY)
41        @Cascade(CascadeType.SAVE_UPDATE)
42        private Reference reference;
43        @OneToMany(fetch = FetchType.LAZY)
44        private Set<View> superViews = new HashSet<View>();
45        @Transient
46        private Set<CdmBase> members = new HashSet<CdmBase>();
47        @Transient
48        private Set<CdmBase> nonMembers = new HashSet<CdmBase>();
49       
50        public String getName(){
51                logger.debug("getName");
52                return this.name;
53        }
54        public void setName(String name){
55                this.name = name;
56        }
57
58        public String getDescription(){
59                return this.description;
60        }
61       
62        public void setDescription(String description){
63                this.description = description;
64        }
65
66        @Transient
67        public Reference getCitation() {
68                return getReference();
69        }
70
71        public Reference getReference() {
72                return reference;
73        }
74
75        public void setReference(Reference reference) {
76                this.reference = reference;
77        }
78       
79        public Set<View> getSuperViews() {
80                return superViews;
81        }
82
83        public void addSuperView(View superView) {
84                this.superViews.add(superView);
85        }
86        public void removeSuperView(View superView) {
87                this.superViews.remove(superView);
88        }
89       
90        public Set<CdmBase> getMembers() {
91                return members;
92        }
93
94        public void addMember(CdmBase member) {
95                this.members.add(member);
96        }
97        public void removeMember(ICdmBase member) {
98                this.members.remove(member);
99        }
100
101        public Set<CdmBase> getNonMembers() {
102                return nonMembers;
103        }
104
105        public void addNonMember(CdmBase member) {
106                this.nonMembers.add(member);
107        }
108        public void removeNonMember(ICdmBase member) {
109                this.nonMembers.remove(member);
110        }
111}
Note: See TracBrowser for help on using the browser.