Project

General

Profile

Download (2.66 KB) Statistics
| Branch: | Tag: | Revision:
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

    
10
package eu.etaxonomy.cdm.model.reference;
11

    
12

    
13
import javax.persistence.Entity;
14
import javax.xml.bind.annotation.XmlAccessType;
15
import javax.xml.bind.annotation.XmlAccessorType;
16
import javax.xml.bind.annotation.XmlRootElement;
17
import javax.xml.bind.annotation.XmlType;
18

    
19
import org.apache.log4j.Logger;
20
import org.hibernate.envers.Audited;
21
import org.hibernate.search.annotations.Indexed;
22
import org.springframework.beans.factory.annotation.Configurable;
23

    
24
import eu.etaxonomy.cdm.strategy.cache.reference.IReferenceBaseCacheStrategy;
25
import eu.etaxonomy.cdm.strategy.cache.reference.StrictReferenceBaseDefaultCacheStrategy;
26

    
27
/**
28
 * This class represents personal communications. A personal communication is a
29
 * non published document originally written for information exchange between
30
 * private persons. 
31
 * <P>
32
 * This class corresponds to: <ul>
33
 * <li> the term "Communication" from PublicationTypeTerm according to the TDWG ontology
34
 * </ul>
35
 * 
36
 * @author m.doering
37
 * @version 1.0
38
 * @created 08-Nov-2007 13:06:43
39
 */
40
@XmlAccessorType(XmlAccessType.FIELD)
41
@XmlType(name = "PersonalCommunication")
42
@XmlRootElement(name = "PersonalCommunication")
43
@Entity
44
@Indexed(index = "eu.etaxonomy.cdm.model.reference.ReferenceBase")
45
@Audited
46
@Configurable
47
public class PersonalCommunication extends StrictReferenceBase<IReferenceBaseCacheStrategy<PersonalCommunication>> implements Cloneable {
48
	private static final Logger logger = Logger.getLogger(PersonalCommunication.class);
49
	
50
	protected PersonalCommunication() {
51
		this.cacheStrategy = new StrictReferenceBaseDefaultCacheStrategy<PersonalCommunication>();
52
	}
53
	
54
	/**
55
	 * Creates a new empty personal communication instance.
56
	 */
57
	public static PersonalCommunication NewInstance(){
58
		PersonalCommunication result = new PersonalCommunication();
59
		return result;
60
	}
61
	
62

    
63
	/** 
64
	 * Clones <i>this</i> personal communication instance. This is a shortcut that enables to
65
	 * create a new instance that differs only slightly from <i>this</i>
66
	 * personal communication instance by modifying only some of the attributes.<BR>
67
	 * This method overrides the clone method from {@link PublicationBase PublicationBase}.
68
	 * 
69
	 * @see PublicationBase#clone()
70
	 * @see eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity#clone()
71
	 * @see java.lang.Object#clone()
72
	 */
73
	@Override
74
	public PersonalCommunication clone(){
75
		PersonalCommunication result = (PersonalCommunication)super.clone();
76
		//no changes to: -
77
		return result;
78
	}
79
}
(15-15/28)