root/trunk/cdmlib/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/Credit.java

Revision 6476, 2.9 kB (checked in by a.mueller, 3 years ago)

Credit.clone()

  • 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.common;
11
12import javax.persistence.Entity;
13import javax.persistence.FetchType;
14import javax.persistence.ManyToOne;
15import javax.xml.bind.annotation.XmlAccessType;
16import javax.xml.bind.annotation.XmlAccessorType;
17import javax.xml.bind.annotation.XmlElement;
18import javax.xml.bind.annotation.XmlIDREF;
19import javax.xml.bind.annotation.XmlSchemaType;
20import javax.xml.bind.annotation.XmlType;
21
22import org.apache.log4j.Logger;
23import org.hibernate.annotations.Cascade;
24import org.hibernate.annotations.CascadeType;
25import org.hibernate.envers.Audited;
26
27import eu.etaxonomy.cdm.model.agent.AgentBase;
28
29/**
30 * @author a.mueller
31 * @created 23.03.2009
32 * @version 1.0
33 */
34@XmlAccessorType(XmlAccessType.FIELD)
35@XmlType(name = "Credit")
36@Entity
37@Audited
38public class Credit extends LanguageStringBase implements Cloneable{
39        private static final long serialVersionUID = 5763391127298427701L;
40        @SuppressWarnings("unused")
41        private static final Logger logger = Logger.getLogger(Credit.class);
42       
43        // owner etc as defined by the rightstype
44        @XmlElement(name = "Agent")
45        @XmlIDREF
46        @XmlSchemaType(name = "IDREF")
47        @ManyToOne(fetch = FetchType.LAZY)
48        @Cascade(CascadeType.SAVE_UPDATE)
49        private AgentBase agent;
50       
51        @XmlElement(name = "AbbreviatedText")
52        private String abbreviatedText;
53       
54        public static Credit NewInstance(AgentBase agent, String text){
55                return NewInstance(agent, text, null, Language.DEFAULT());
56        }
57
58        public static Credit NewInstance(AgentBase agent, String text, String abbreviatedText, Language language){
59                Credit result = new Credit(text, language);
60                result.setAgent(agent);
61                result.setAbbreviatedText(abbreviatedText);
62                return result;
63        }
64
65       
66        protected Credit(){
67                super();
68        }
69       
70        protected Credit(String text, Language language){
71                super(text, language);
72        }
73
74
75
76        /**
77         * @return the agent
78         */
79        public AgentBase getAgent() {
80                return agent;
81        }
82
83
84
85        /**
86         * @param agent the agent to set
87         */
88        public void setAgent(AgentBase agent) {
89                this.agent = agent;
90        }
91
92
93
94        /**
95         * @return the abbreviatedText
96         */
97        public String getAbbreviatedText() {
98                return abbreviatedText;
99        }
100
101
102
103        /**
104         * @param abbreviatedText the abbreviatedText to set
105         */
106        public void setAbbreviatedText(String abbreviatedText) {
107                this.abbreviatedText = abbreviatedText;
108        }
109
110//************************* CLONE **************************/
111       
112        /* (non-Javadoc)
113         * @see java.lang.Object#clone()
114         */
115        @Override
116        public Object clone() throws CloneNotSupportedException{
117                Credit result = (Credit)super.clone();
118                //no changes to: agent
119                return result;
120        }
121
122       
123}
Note: See TracBrowser for help on using the browser.