Project

General

Profile

Download (2.26 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.description;
11

    
12
import javax.persistence.Transient;
13
import javax.xml.bind.annotation.XmlEnum;
14
import javax.xml.bind.annotation.XmlEnumValue;
15

    
16
import eu.etaxonomy.cdm.model.common.Language;
17

    
18
/**
19
 * The role of the descriptive system of type {@link FeatureTree}.<BR>
20
 * A descriptive systeme may play different roles within a working set. 
21
 * The roles may be 
22
 * <li>
23
 * <ul>Default</ul>
24
 * <ul>Interactive Identification</ul>
25
 * <ul>Natural Language Reporting</ul>
26
 * <ul>Filtering</ul>
27
 * <ul>Description Editing</ul>
28
 * <ul>Terminology Reporting</ul>
29
 * <ul>Management</ul>
30
 * </li> 
31
 * 
32
 * Compare SDD: .../CharacterTree/DesignedFor/Role
33
 * 
34
 * @author a.mueller
35
 * @since 04-Mar-2011
36
 */
37
@XmlEnum
38
public enum DescriptiveSystemRole {
39
	//0 ; if default is set, this descriptive system is taken for all purpose where no more specific 
40
	//system is defined
41
	@XmlEnumValue("Default")  
42
	Default("Default"),
43
	//1 ; used for interactive keys
44
	@XmlEnumValue("InteractiveIdentification")  
45
	InteractiveIdentification("Interactive Identification"),
46
	//2 ; used for natural language reporting
47
	@XmlEnumValue("NaturalLanguageReporting")  
48
	NaturalLanguageReporting("Natural Language Reporting"),
49
	//3 ; used for fitering
50
	@XmlEnumValue("Filtering")  
51
	Filtering("Filtering"),
52
	//4 ; used for editing descriptions
53
	@XmlEnumValue("DescriptionEditing")  
54
	DescriptionEditing("Description Editing"),
55
	//5 ; used for reporting of the descriptive terminology
56
	@XmlEnumValue("TerminologyReporting")  
57
	TerminologyReporting("Terminology Reporting"),
58
	//6 ; used for management
59
	@XmlEnumValue("Management")  
60
	Management("Management"),
61
	;
62
	
63
	private String readableString;
64
	
65
	private DescriptiveSystemRole(String readableString ){
66
		this.readableString = readableString;
67
	}
68

    
69
	@Transient
70
	public String getMessage(){
71
		return getMessage(Language.DEFAULT());
72
	}
73
	public String getMessage(Language language){
74
		//TODO make multi-lingual
75
		return readableString;
76
	}
77
}
(7-7/37)