1
2 package ca.uhn.fhir.model.dstu.valueset;
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 import java.util.HashMap;
25 import java.util.Map;
26
27 import ca.uhn.fhir.model.api.IValueSetEnumBinder;
28
29 public enum DocumentModeEnum {
30
31
32
33
34
35
36 PRODUCER("producer", "http://hl7.org/fhir/document-mode"),
37
38
39
40
41
42
43 CONSUMER("consumer", "http://hl7.org/fhir/document-mode"),
44
45 ;
46
47
48
49
50
51 public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/document-mode";
52
53
54
55
56
57 public static final String VALUESET_NAME = "DocumentMode";
58
59 private static Map<String, DocumentModeEnum> CODE_TO_ENUM = new HashMap<String, DocumentModeEnum>();
60 private static Map<String, Map<String, DocumentModeEnum>> SYSTEM_TO_CODE_TO_ENUM = new HashMap<String, Map<String, DocumentModeEnum>>();
61
62 private final String myCode;
63 private final String mySystem;
64
65 static {
66 for (DocumentModeEnum next : DocumentModeEnum.values()) {
67 CODE_TO_ENUM.put(next.getCode(), next);
68
69 if (!SYSTEM_TO_CODE_TO_ENUM.containsKey(next.getSystem())) {
70 SYSTEM_TO_CODE_TO_ENUM.put(next.getSystem(), new HashMap<String, DocumentModeEnum>());
71 }
72 SYSTEM_TO_CODE_TO_ENUM.get(next.getSystem()).put(next.getCode(), next);
73 }
74 }
75
76
77
78
79 public String getCode() {
80 return myCode;
81 }
82
83
84
85
86 public String getSystem() {
87 return mySystem;
88 }
89
90
91
92
93 public DocumentModeEnum forCode(String theCode) {
94 DocumentModeEnum retVal = CODE_TO_ENUM.get(theCode);
95 return retVal;
96 }
97
98
99
100
101 public static final IValueSetEnumBinder<DocumentModeEnum> VALUESET_BINDER = new IValueSetEnumBinder<DocumentModeEnum>() {
102 @Override
103 public String toCodeString(DocumentModeEnum theEnum) {
104 return theEnum.getCode();
105 }
106
107 @Override
108 public String toSystemString(DocumentModeEnum theEnum) {
109 return theEnum.getSystem();
110 }
111
112 @Override
113 public DocumentModeEnum fromCodeString(String theCodeString) {
114 return CODE_TO_ENUM.get(theCodeString);
115 }
116
117 @Override
118 public DocumentModeEnum fromCodeString(String theCodeString, String theSystemString) {
119 Map<String, DocumentModeEnum> map = SYSTEM_TO_CODE_TO_ENUM.get(theSystemString);
120 if (map == null) {
121 return null;
122 }
123 return map.get(theCodeString);
124 }
125
126 };
127
128
129
130
131 DocumentModeEnum(String theCode, String theSystem) {
132 myCode = theCode;
133 mySystem = theSystem;
134 }
135
136
137 }