root/trunk/cdmlib/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/DescriptiveSystemRole.java

Revision 11501, 2.3 kB (checked in by a.mueller, 15 months ago)

DescriptiveSystemRole? added

Line 
1// $Id$
2/**
3* Copyright (C) 2007 EDIT
4* European Distributed Institute of Taxonomy
5* http://www.e-taxonomy.eu
6*
7* The contents of this file are subject to the Mozilla Public License Version 1.1
8* See LICENSE.TXT at the top of this package for the full license terms.
9*/
10
11package eu.etaxonomy.cdm.model.description;
12
13import javax.persistence.Transient;
14import javax.xml.bind.annotation.XmlEnum;
15import javax.xml.bind.annotation.XmlEnumValue;
16
17import eu.etaxonomy.cdm.model.common.Language;
18
19/**
20 * The role of the descriptive system of type {@link FeatureTree}.<BR>
21 * A descriptive systeme may play different roles within a working set.
22 * The roles may be
23 * <li>
24 * <ul>Default</ul>
25 * <ul>Interactive Identification</ul>
26 * <ul>Natural Language Reporting</ul>
27 * <ul>Filtering</ul>
28 * <ul>Description Editing</ul>
29 * <ul>Terminology Reporting</ul>
30 * <ul>Management</ul>
31 * </li>
32 *
33 * Compare SDD: .../CharacterTree/DesignedFor/Role
34 *
35 * @author a.mueller
36 * @created 04-Mar-2011
37 */
38@XmlEnum
39public enum DescriptiveSystemRole {
40        //0 ; if default is set, this descriptive system is taken for all purpose where no more specific
41        //system is defined
42        @XmlEnumValue("Default") 
43        Default("Default"),
44        //1 ; used for interactive keys
45        @XmlEnumValue("InteractiveIdentification") 
46        InteractiveIdentification("Interactive Identification"),
47        //2 ; used for natural language reporting
48        @XmlEnumValue("NaturalLanguageReporting") 
49        NaturalLanguageReporting("Natural Language Reporting"),
50        //3 ; used for fitering
51        @XmlEnumValue("Filtering") 
52        Filtering("Filtering"),
53        //4 ; used for editing descriptions
54        @XmlEnumValue("DescriptionEditing") 
55        DescriptionEditing("Description Editing"),
56        //5 ; used for reporting of the descriptive terminology
57        @XmlEnumValue("TerminologyReporting") 
58        TerminologyReporting("Terminology Reporting"),
59        //6 ; used for management
60        @XmlEnumValue("Management") 
61        Management("Management"),
62        ;
63       
64        private String readableString;
65       
66        private DescriptiveSystemRole(String readableString ){
67                this.readableString = readableString;
68        }
69
70        @Transient
71        public String getMessage(){
72                return getMessage(Language.DEFAULT());
73        }
74        public String getMessage(Language language){
75                //TODO make multi-lingual
76                return readableString;
77        }
78}
Note: See TracBrowser for help on using the browser.