Revision 69e00fde
Added by Andreas Müller almost 8 years ago
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/metadata/PreferenceSubject.java | ||
---|---|---|
1 |
// $Id$ |
|
1 | 2 |
/** |
2 |
* Copyright (C) 2007 EDIT
|
|
3 |
* European Distributed Institute of Taxonomy
|
|
3 |
* Copyright (C) 2016 EDIT
|
|
4 |
* European Distributed Institute of Taxonomy |
|
4 | 5 |
* http://www.e-taxonomy.eu |
5 |
*
|
|
6 |
* |
|
6 | 7 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
7 | 8 |
* See LICENSE.TXT at the top of this package for the full license terms. |
8 | 9 |
*/ |
9 | 10 |
package eu.etaxonomy.cdm.model.metadata; |
10 | 11 |
|
11 |
import java.util.Set; |
|
12 |
import java.util.UUID; |
|
13 |
|
|
14 |
import eu.etaxonomy.cdm.model.common.EnumeratedTermVoc; |
|
15 |
import eu.etaxonomy.cdm.model.common.IEnumTerm; |
|
16 |
import eu.etaxonomy.cdm.model.common.Language; |
|
12 |
import eu.etaxonomy.cdm.model.taxon.Classification; |
|
13 |
import eu.etaxonomy.cdm.model.taxon.TaxonNode; |
|
17 | 14 |
|
18 | 15 |
/** |
19 | 16 |
* @author a.mueller |
20 |
* @created 2013-09-09
|
|
17 |
* @date 03.06.2016
|
|
21 | 18 |
* |
22 | 19 |
*/ |
23 |
public enum PreferenceSubject implements IEnumTerm<PreferenceSubject>{ |
|
24 |
Database(UUID.fromString("50b25ae6-62fe-46a1-830e-545702e895f7"), "Database", "DB", null), |
|
25 |
Classification(UUID.fromString("1e103ff5-c58f-4e40-8a60-6a36c32c08cf"),"Classification","CL", Database), |
|
26 |
TaxonSubTree(UUID.fromString("2f2c0fd4-9c49-4584-89ba-53f8d201d37c"),"Taxonomic Subtree","TST", Classification) |
|
27 |
; |
|
28 |
|
|
29 |
private PreferenceSubject(UUID uuid, String defaultString, String key, PreferenceSubject parent){ |
|
30 |
delegateVocTerm = EnumeratedTermVoc.addTerm(getClass(), this, uuid, defaultString, key, parent); |
|
31 |
} |
|
20 |
public class PreferenceSubject { |
|
21 |
|
|
22 |
public static final String ROOT = "/"; |
|
32 | 23 |
|
33 |
// *************************** DELEGATE **************************************/ |
|
34 |
|
|
35 |
private static EnumeratedTermVoc<PreferenceSubject> delegateVoc; |
|
36 |
private IEnumTerm<PreferenceSubject> delegateVocTerm; |
|
24 |
private String subject; |
|
37 | 25 |
|
38 |
static { |
|
39 |
delegateVoc = EnumeratedTermVoc.getVoc(PreferenceSubject.class); |
|
40 |
} |
|
41 |
|
|
42 |
@Override |
|
43 |
public String getKey(){return delegateVocTerm.getKey();} |
|
44 |
|
|
45 |
@Override |
|
46 |
public String getMessage(){return delegateVocTerm.getMessage();} |
|
26 |
public static PreferenceSubject NewDatabaseInstance(){ |
|
27 |
return new PreferenceSubject(ROOT); |
|
28 |
} |
|
47 | 29 |
|
48 |
@Override |
|
49 |
public String getMessage(Language language){return delegateVocTerm.getMessage(language);} |
|
30 |
public static PreferenceSubject NewInstance(Classification classification){ |
|
31 |
return NewInstance(classification.getRootNode()); |
|
32 |
} |
|
50 | 33 |
|
51 |
|
|
52 |
@Override |
|
53 |
public UUID getUuid() {return delegateVocTerm.getUuid();} |
|
34 |
public static PreferenceSubject NewInstance(TaxonNode taxonNode){ |
|
35 |
String result = ROOT + "TaxonNode[" + taxonNode.treeIndex() + "]"; |
|
36 |
return new PreferenceSubject(result); |
|
37 |
} |
|
54 | 38 |
|
55 |
@Override |
|
56 |
public PreferenceSubject getKindOf() {return delegateVocTerm.getKindOf();} |
|
57 |
|
|
58 |
@Override |
|
59 |
public Set<PreferenceSubject> getGeneralizationOf() {return delegateVocTerm.getGeneralizationOf();} |
|
60 | 39 |
|
61 |
@Override |
|
62 |
public boolean isKindOf(PreferenceSubject ancestor) {return delegateVocTerm.isKindOf(ancestor); } |
|
40 |
// *****************************************************/ |
|
63 | 41 |
|
64 |
@Override |
|
65 |
public Set<PreferenceSubject> getGeneralizationOf(boolean recursive) {return delegateVocTerm.getGeneralizationOf(recursive);} |
|
42 |
private PreferenceSubject(String subject){ |
|
43 |
this.subject = subject; |
|
44 |
} |
|
66 | 45 |
|
67 |
public static PreferenceSubject getByKey(String key){return delegateVoc.getByKey(key);} |
|
68 |
public static PreferenceSubject getByUuid(UUID uuid) {return delegateVoc.getByUuid(uuid);} |
|
69 | 46 |
|
47 |
@Override |
|
48 |
public String toString() { |
|
49 |
return subject; |
|
50 |
} |
|
70 | 51 |
} |
Also available in: Unified diff
Further develop the CDM preferences #3958