root/trunk/cdmlib/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/reference/ReferenceIdentity.java

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

merge 3.0.2 to trunk

Line 
1// $Id$
2/**
3* Copyright (C) 2007 EDIT
4* European Distributed Institute of Taxonomy
5* http://www.e-taxonomy.eu
6*
7* The contents of this file are subject to the Mozilla Public License Version 1.1
8* See LICENSE.TXT at the top of this package for the full license terms.
9*/
10
11
12// NOT YET IN USE //
13package eu.etaxonomy.cdm.model.reference;
14
15import java.util.Set;
16
17import javax.persistence.FetchType;
18import javax.persistence.ManyToOne;
19import javax.persistence.OneToMany;
20import javax.xml.bind.annotation.XmlAccessType;
21import javax.xml.bind.annotation.XmlAccessorType;
22import javax.xml.bind.annotation.XmlElement;
23import javax.xml.bind.annotation.XmlElementWrapper;
24import javax.xml.bind.annotation.XmlIDREF;
25import javax.xml.bind.annotation.XmlSchemaType;
26import javax.xml.bind.annotation.XmlType;
27
28import org.apache.log4j.Logger;
29import org.hibernate.annotations.Cascade;
30import org.hibernate.annotations.CascadeType;
31import org.hibernate.envers.Audited;
32
33import eu.etaxonomy.cdm.model.common.VersionableEntity;
34
35/**
36 * @author a.mueller
37 * @created 30.06.2009
38 * @version 1.0
39 */
40@XmlAccessorType(XmlAccessType.FIELD)
41@XmlType(name = "ReferenceIdentity", propOrder = {
42        "preferredLongForm",
43        "preferredAbbreviation",
44    "references"
45})
46@Audited
47//@Entity
48public class ReferenceIdentity extends VersionableEntity {
49        private static final long serialVersionUID = -6114973116800471106L;
50        @SuppressWarnings("unused")
51        private static final Logger logger = Logger.getLogger(ReferenceIdentity.class);
52       
53        @XmlElementWrapper(name = "References")
54    @XmlElement(name = "Reference")
55    @XmlIDREF
56    @XmlSchemaType(name = "IDREF")
57    @OneToMany(mappedBy="name", fetch= FetchType.LAZY)
58        private Set<Reference> references;
59       
60        @XmlElement(name = "PreferredLongForm")
61        @XmlIDREF
62        @XmlSchemaType(name = "IDREF")
63        @ManyToOne(fetch = FetchType.LAZY)
64        //@IndexedEmbedded
65        @Cascade(CascadeType.SAVE_UPDATE)
66        private Reference preferredLongForm;
67
68
69        @XmlElement(name = "PreferredAbbreviation")
70        @XmlIDREF
71        @XmlSchemaType(name = "IDREF")
72        @ManyToOne(fetch = FetchType.LAZY)
73        //@IndexedEmbedded
74        @Cascade(CascadeType.SAVE_UPDATE)
75        private Reference preferredAbbreviation;
76       
77       
78        /**
79         * @return the references
80         */
81        public Set<Reference> getReferences() {
82                return references;
83        }
84
85
86//      /**
87//       * Adds the reference to this reference identity
88//       * @param reference
89//       * @return
90//       */
91//      public boolean addReference(Reference reference){
92//              if (reference == null){
93//                      return false;
94//              }
95//              if (reference.getReferenceIdentity() != null){
96//                      reference.setReferenceIdentity(this);
97//              }
98//              return this.references.add(reference);
99//      }
100//     
101//      public boolean removeReference(Reference reference){
102//              if (reference == null){
103//                      return false;
104//              }
105//              reference.setReferenceIdentity(null);
106//              return this.references.remove(reference);
107//      }
108       
109
110        /**
111         * @return the preferredLongForm
112         */
113        public Reference getPreferredLongForm() {
114                return preferredLongForm;
115        }
116
117        /**
118         * @param preferredLongForm the preferredLongForm to set
119         */
120        public void setPreferredLongForm(Reference preferredLongForm) {
121                this.preferredLongForm = preferredLongForm;
122        }
123
124        /**
125         * @return the preferredAbbreviation
126         */
127        public Reference getPreferredAbbreviation() {
128                return preferredAbbreviation;
129        }
130
131        /**
132         * @param preferredAbbreviation the preferredAbbreviation to set
133         */
134        public void setPreferredAbbreviation(Reference preferredAbbreviation) {
135                this.preferredAbbreviation = preferredAbbreviation;
136        }
137       
138       
139       
140}
Note: See TracBrowser for help on using the browser.