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
;
41 @ManyToOne(fetch
= FetchType
.LAZY
)
42 @Cascade(CascadeType
.SAVE_UPDATE
)
43 private Reference
<?
> reference
;
45 @OneToMany(fetch
= FetchType
.LAZY
)
46 private Set
<View
> superViews
= new HashSet
<View
>();
49 private Set
<CdmBase
> members
= new HashSet
<CdmBase
>();
52 private Set
<CdmBase
> nonMembers
= new HashSet
<CdmBase
>();
54 public String
getName(){
55 logger
.debug("getName");
58 public void setName(String name
){
62 public String
getDescription(){
63 return this.description
;
66 public void setDescription(String description
){
67 this.description
= description
;
71 public Reference
getCitation() {
72 return getReference();
75 public Reference
getReference() {
79 public void setReference(Reference reference
) {
80 this.reference
= reference
;
83 public Set
<View
> getSuperViews() {
87 public void addSuperView(View superView
) {
88 this.superViews
.add(superView
);
90 public void removeSuperView(View superView
) {
91 this.superViews
.remove(superView
);
94 public Set
<CdmBase
> getMembers() {
98 public void addMember(CdmBase member
) {
99 this.members
.add(member
);
101 public void removeMember(ICdmBase member
) {
102 this.members
.remove(member
);
105 public Set
<CdmBase
> getNonMembers() {
109 public void addNonMember(CdmBase member
) {
110 this.nonMembers
.add(member
);
112 public void removeNonMember(ICdmBase member
) {
113 this.nonMembers
.remove(member
);