Project

General

Profile

Download (3.61 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

    
15
import org.apache.log4j.Logger;
16

    
17
/**
18
 * This class represents conference proceedings. Proceedings are a
19
 * collection of academic papers that are published in the context of an
20
 * academic conference. Each paper typically is quite isolated from the other
21
 * papers in the proceedings. Proceedings are published in-house, by the
22
 * organizing institution of the conference, or via an academic publisher. 
23
 * <P>
24
 * This class corresponds, according to the TDWG ontology, to the publication type
25
 * term (from PublicationTypeTerm): "ConferenceProceedings".
26
 *   
27
 * @author m.doering
28
 * @version 1.0
29
 * @created 08-Nov-2007 13:06:45
30
 */
31
@Entity
32
public class Proceedings extends PrintedUnitBase implements Cloneable {
33
	private static final Logger logger = Logger.getLogger(Proceedings.class);
34
	
35
	//The conference sponsor
36
	private String organization;
37
	
38
	
39
	/** 
40
	 * Creates a new empty proceedings instance.
41
	 * 
42
	 * @see #NewInstance(String)
43
	 */
44
	public static Proceedings NewInstance(){
45
		Proceedings result = new Proceedings();
46
		return result;
47
	}
48
	
49
	/** 
50
	 * Creates a new proceedings instance with the given organization
51
	 * responsible for the conference.
52
	 * 
53
	 * @see #NewInstance(String)
54
	 */
55
	public static Proceedings NewInstance(String organization){
56
		Proceedings result = NewInstance();
57
		result.setOrganization(organization);
58
		return result;
59
	}
60
	
61

    
62

    
63
	/**
64
	 * Returns the string representing the organization responsible for the
65
	 * conference in the context of which <i>this</i> conference proceedings
66
	 * has been printed.
67
	 * 
68
	 * @return  the string with the responsible organization
69
	 */
70
	public String getOrganization(){
71
		return this.organization;
72
	}
73
	/**
74
	 * @see #getOrganization()
75
	 */
76
	public void setOrganization(String organization){
77
		this.organization = organization;
78
	}
79

    
80
	/**
81
	 * Generates, according to the {@link strategy.cache.reference.IReferenceBaseCacheStrategy cache strategy}
82
	 * assigned to <i>this</i> reference, a string that identifies <i>this</i>
83
	 * conference proceedings and returns it. This string may be stored in the
84
	 * inherited {@link common.IdentifiableEntity#getTitleCache() titleCache} attribute.<BR>
85
	 * This method overrides the generic and inherited
86
	 * ReferenceBase#generateTitle() method.
87
	 *
88
	 * @return  the string identifying <i>this</i> conference proceedings
89
	 * @see  	ReferenceBase#generateTitle()
90
	 * @see  	common.IdentifiableEntity#getTitleCache()
91
	 * @see  	common.IdentifiableEntity#generateTitle()
92
	 * @see  	strategy.cache.common.IIdentifiableEntityCacheStrategy#getTitleCache()
93
	 */
94
	@Override
95
	public String generateTitle(){
96
		logger.warn("generateTitle not yet fully implemented");
97
		return this.getTitle();
98
	}
99
	
100
	
101
	//*********** CLONE **********************************/	
102
			
103
	/** 
104
	 * Clones <i>this</i> conference proceedings. This is a shortcut that enables to
105
	 * create a new instance that differs only slightly from <i>this</i> conference
106
	 * proceedings by modifying only some of the attributes.<BR>
107
	 * This method overrides the {@link StrictReferenceBase#clone() method} from StrictReferenceBase.
108
	 * 
109
	 * @see StrictReferenceBase#clone()
110
	 * @see media.IdentifyableMediaEntity#clone()
111
	 * @see java.lang.Object#clone()
112
	 */
113
		public Proceedings clone(){
114
			Proceedings result = (Proceedings)super.clone();
115
			//no changes to: organization
116
			return result;
117
		}
118

    
119
}
(18-18/26)