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
.strategy
.cache
;
12 import eu
.etaxonomy
.cdm
.model
.name
.TaxonName
;
15 * Tag types for atomised taxon name strings and atomised reference citation strings.
16 * Used by {@link TaggedText}.
18 * @author a.kohlbecker
25 * A taxon name including genus name, epithet etc.
29 * A name rank abbreviation, e.g. subsp.
33 * Cultivar part of cultivar taxon name ruled by the ICNCP (should not be in italics if name is in italics and vice versa)
37 * Non-atomised addition to a taxon name or a taxon not ruled by a nomenclatural code
41 * The authors of a reference, also used in taxon names
49 * Volume, page number etc. of a reference
53 * Publication year of a reference
57 * A full taxon name including all name information and nomenclatural
58 * reference information
62 * The nomenclatural status of a name
66 * A separator to separate two tags () .
67 * A separator should include all needed whitespaces. So adding of whitespace
68 * is not needed if a separator is given.
72 * A separator that needs to be added to the previous text if and only if
73 * the previous tag is used (not filtered) and if it is not the last tag
75 * A post-separator should include all needed whitespaces. So adding of whitespace
76 * is not needed if a post-separator is given.
84 * a secundum reference (for TaxonBase)
88 * a secundum micro reference (for TaxonBase)
92 * a separator for name in source of secundum reference(for TaxonBase)
94 secNameInSourceSeparator
,
97 // * a secundum reference as used in a misapplied name (for TaxonRelationship)
101 // * a secundum micro reference as used in a misapplied name (for TaxonRelationship)
103 // sensuMicroReference,
105 * a reference as used in a relation (e.g. TaxonRelationship reference)
109 * a micro reference as used in a relation (e.g. TaxonRelationship micro reference)
111 relSecMicroReference
,
116 specimenOrObservation
,
119 * Any symbol representing information, used e.g. for representing relationships
120 * like taxon relationships.
126 public boolean isName(){
129 public boolean isRank(){
132 public boolean isAuthors(){
133 return this == authors
;
135 public boolean isAppendedPhrase(){
136 return this == appendedPhrase
;
138 public boolean isReference(){
139 return this == reference
;
141 public boolean isYear(){
144 public boolean isFullName(){
145 return this == fullName
;
148 public boolean isNomStatus(){
149 return this == nomStatus
;
152 * @return <code>true</code> if type is separator or postSeparator
154 public boolean isSeparator(){
155 return this == separator
|| this == postSeparator
|| this == secNameInSourceSeparator
;
157 public boolean isHybridSign(){
158 return this == hybridSign
;
162 * @return <code>true</code> if the tag is usually used in the pure name part
163 * of a {@link TaxonName}. This does not include author information. It is still
164 * unclear if {@link #isAppendedPhrase()} should be part. Currently it is.
165 * {@link #isSeparator()} is also unclear, currently it is not.
167 public boolean isNameCachePart() {
168 return isName()||isRank()||isHybridSign()||isAppendedPhrase();