Project

General

Profile

« Previous | Next » 

Revision e6d7b501

Added by Andreas Müller almost 7 years ago

ref #6368 remove TaxonNameBase subclasses

View differences:

cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/name/NomenclaturalCode.java
12 12
import java.util.Set;
13 13
import java.util.UUID;
14 14

  
15
import javax.persistence.Transient;
16 15
import javax.xml.bind.annotation.XmlEnum;
17 16
import javax.xml.bind.annotation.XmlEnumValue;
18 17
import javax.xml.bind.annotation.XmlType;
......
89 88
	//NonViral
90 89
    @XmlEnumValue("NonViral")
91 90
    NonViral(UUID.fromString("04f88497-a66a-41b1-9b98-0dd22df6307f"), "NonViral","TaxonNameBase"),
92
//
93
//	//Fungi
94
//    @XmlEnumValue("Fungi")
95
//	Fungi(UUID.fromString("c6bb280d-2468-4738-bb29-973f74412100"), "Fungi", "BotanicalName"),
96
//
91

  
92
	//Fungi
93
    @XmlEnumValue("Fungus")
94
	Fungi(UUID.fromString("c6bb280d-2468-4738-bb29-973f74412100"), "Fungus", "BotanicalName"),
95

  
97 96
//	//Plant
98 97
//    @XmlEnumValue("Plant")
99 98
//	Plant(UUID.fromString("9669c889-25c5-48ab-9f8e-fd47a6218f83"), "Plant", "BotanicalName"),
......
119 118

  
120 119
	@Override
121 120
	public String toString() {
122
		return "NomenclaturalCode" + " <" + getUuid() + "> " + this.name();
121
		return this.name();
123 122
	}
124 123

  
124
    public boolean isNonViral() {
125
        return this != ICVCN;
126
    }
127
    public boolean isZoological() {
128
        return this == ICZN;
129
    }
130
    public boolean isBotanical() {
131
        return this == NomenclaturalCode.ICNAFP || this == ICNCP || this == Fungi;
132
    }
133
    public boolean isCultivar() {
134
        return this == NomenclaturalCode.ICNCP;
135
    }
136
    public boolean isBacterial() {
137
        return this == NomenclaturalCode.ICNB;
138
     }
139
     public boolean isViral() {
140
         return this == NomenclaturalCode.ICVCN;
141
     }
142

  
143

  
125 144
	public static NomenclaturalCode fromString(String string){
126 145
		for(NomenclaturalCode code : NomenclaturalCode.values()){
127 146
			if(code.name().equalsIgnoreCase(string)) {
......
178 197
		case NonViral:
179 198
            result = TaxonNameFactory.NewNonViralInstance(rank);
180 199
            break;
181
        default:
182
			logger.warn("Unknown nomenclatural code: " + this.getUuid());
183
			result = null;
184
		}
185
		return result;
186
	}
187

  
188
	/**
189
	 * Creates a new particular {@link TaxonNameBase taxon name} (botanical, zoological,
190
	 * cultivar plant, bacterial or viral name) instance depending on <i>this</i>
191
	 * nomenclature code only containing the given {@link Rank rank}.
192
	 *
193
	 * @param	rank	the rank of the new taxon name instance
194
     * @see             TaxonNameBase#NewBotanicalInstance(Rank)
195
     * @see             TaxonNameBase#NewZoologicalInstance(Rank)
196
     * @see             TaxonNameBase#NewCultivarInstance(Rank)
197
     * @see             TaxonNameBase#NewBacterialInstance(Rank)
198
     * @see             TaxonNameBase#NewViralInstance(Rank)
199
	 */
200
	@Transient
201
	public <T extends TaxonNameBase> Class<T> getCdmClass(){
202
		Class<T> result;
203
		switch (this){
204
		case ICNAFP:
205
			result = (Class<T>)BotanicalName.class;
206
			break;
207
		case ICZN:
208
			result = (Class<T>)ZoologicalName.class;
209
			break;
210
		case ICNCP:
211
			result = (Class<T>)CultivarPlantName.class;
212
			break;
213
		case ICNB:
214
			result = (Class<T>)BacterialName.class;
215
			break;
216
		case ICVCN:
217
			result = (Class<T>)ViralName.class;
218
			break;
219
		case NonViral:
220
            result = (Class<T>)NonViralName.class;
200
		case Fungi:
201
            result = TaxonNameFactory.NewFungusInstance(rank);
221 202
            break;
222 203
        default:
223 204
			logger.warn("Unknown nomenclatural code: " + this.getUuid());
......
304 285
	public static NomenclaturalCode getByKey(String key){return delegateVoc.getByKey(key);}
305 286
    public static NomenclaturalCode getByUuid(UUID uuid) {return delegateVoc.getByUuid(uuid);}
306 287

  
307

  
308 288
}

Also available in: Unified diff