2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.cdm
.model
.view
;
13 import org
.apache
.log4j
.Logger
;
14 import org
.hibernate
.annotations
.Cascade
;
15 import org
.hibernate
.annotations
.CascadeType
;
17 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
18 import eu
.etaxonomy
.cdm
.model
.common
.ICdmBase
;
19 import eu
.etaxonomy
.cdm
.model
.common
.IReferencedEntity
;
20 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
24 import javax
.persistence
.*;
27 * use ARCHIVE view/dataset to maintain an archive. All members of that view will
31 * @created 08-Nov-2007 13:07:01
33 @Entity(name
="CDM_VIEW")
34 public class View
extends CdmBase
implements IReferencedEntity
{
35 private static final long serialVersionUID
= 3668860188614455213L;
36 private static final Logger logger
= Logger
.getLogger(View
.class);
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
>();
46 private Set
<CdmBase
> members
= new HashSet
<CdmBase
>();
48 private Set
<CdmBase
> nonMembers
= new HashSet
<CdmBase
>();
50 public String
getName(){
51 logger
.debug("getName");
54 public void setName(String name
){
58 public String
getDescription(){
59 return this.description
;
62 public void setDescription(String description
){
63 this.description
= description
;
67 public Reference
getCitation() {
68 return getReference();
71 public Reference
getReference() {
75 public void setReference(Reference reference
) {
76 this.reference
= reference
;
79 public Set
<View
> getSuperViews() {
83 public void addSuperView(View superView
) {
84 this.superViews
.add(superView
);
86 public void removeSuperView(View superView
) {
87 this.superViews
.remove(superView
);
90 public Set
<CdmBase
> getMembers() {
94 public void addMember(CdmBase member
) {
95 this.members
.add(member
);
97 public void removeMember(ICdmBase member
) {
98 this.members
.remove(member
);
101 public Set
<CdmBase
> getNonMembers() {
105 public void addNonMember(CdmBase member
) {
106 this.nonMembers
.add(member
);
108 public void removeNonMember(ICdmBase member
) {
109 this.nonMembers
.remove(member
);