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
.reference
;
13 import javax
.persistence
.Entity
;
14 import javax
.persistence
.Transient
;
16 import org
.apache
.log4j
.Logger
;
18 import eu
.etaxonomy
.cdm
.strategy
.cache
.reference
.GenericDefaultCacheStrategy
;
21 * This class is to represent all references which cannot be clearly assigned to a
22 * specific reference type. Therefore attributes which are only used by a unique
23 * reference type are not necessary here.
26 * @created 08-Nov-2007 13:06:26
29 public class Generic
extends StrictReferenceBase
implements INomenclaturalReference
, Cloneable
{
30 static Logger logger
= Logger
.getLogger(Generic
.class);
31 private String publisher
;
32 private String placePublished
;
33 private String editor
;
34 private String series
;
35 private String volume
;
37 private NomenclaturalReferenceHelper nomRefBase
= NomenclaturalReferenceHelper
.NewInstance(this);
40 public static Generic
NewInstance(){
46 this.cacheStrategy
= GenericDefaultCacheStrategy
.NewInstance();
50 public String
getPublisher(){
51 return this.publisher
;
56 * @param publisher publisher
58 public void setPublisher(String publisher
){
59 this.publisher
= publisher
;
62 public String
getPlacePublished(){
63 return this.placePublished
;
68 * @param placePublished placePublished
70 public void setPlacePublished(String placePublished
){
71 this.placePublished
= placePublished
;
74 public String
getEditor(){
80 * @param editor editor
82 public void setEditor(String editor
){
86 public String
getSeries(){
92 * @param series series
94 public void setSeries(String series
){
98 public String
getVolume(){
104 * @param volume volume
106 public void setVolume(String volume
){
107 this.volume
= volume
;
110 public String
getPages(){
118 public void setPages(String pages
){
123 * @see eu.etaxonomy.cdm.model.reference.StrictReferenceBase#getCitation()
126 public String
getCitation(){
127 return nomRefBase
.getCitation();
131 * @see eu.etaxonomy.cdm.model.reference.INomenclaturalReference#getNomenclaturalCitation(java.lang.String)
134 public String
getNomenclaturalCitation(String microReference
) {
135 return nomRefBase
.getNomenclaturalCitation(microReference
);
140 * @see eu.etaxonomy.cdm.model.reference.ReferenceBase#generateTitle()
143 public String
generateTitle(){
144 return nomRefBase
.generateTitle();
147 //*********** CLONE **********************************/
151 * @see eu.etaxonomy.cdm.model.reference.StrictReferenceBase#clone()
153 public Generic
clone(){
154 Generic result
= (Generic
)super.clone();
155 //no changes to: editor, pages, placePublished,publisher, series, volume