1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.xds.core.metadata;
17
18 import org.openehealth.ipf.commons.ihe.xds.core.validate.ValidationMessage;
19 import org.openehealth.ipf.commons.ihe.xds.core.validate.XDSMetaDataException;
20
21 import javax.xml.bind.annotation.XmlEnum;
22 import javax.xml.bind.annotation.XmlEnumValue;
23 import javax.xml.bind.annotation.XmlType;
24
25
26
27
28 @XmlType(name = "DocumentAvailability")
29 @XmlEnum(String.class)
30 public enum DocumentAvailability {
31
32
33 @XmlEnumValue("Offline") OFFLINE("Offline", "urn:ihe:iti:2010:DocumentAvailability:Offline"),
34
35 @XmlEnumValue("Online") ONLINE("Online", "urn:ihe:iti:2010:DocumentAvailability:Online");
36
37 private final String opcode;
38 private final String fullQualified;
39
40 DocumentAvailability(String opcode, String fullQualified) {
41 this.opcode = opcode;
42 this.fullQualified = fullQualified;
43 }
44
45
46 public String getOpcode() {
47 return opcode;
48 }
49
50 public String getFullQualified() {
51 return fullQualified;
52 }
53
54
55
56
57
58
59
60
61
62
63 public static DocumentAvailability valueOfOpcode(String opcode) {
64 if (opcode == null) {
65 return null;
66 }
67
68 for (DocumentAvailability documentAvailability : DocumentAvailability.values()) {
69 if (opcode.equals(documentAvailability.getOpcode()) || opcode.equals(documentAvailability.getFullQualified())) {
70 return documentAvailability;
71 }
72 }
73
74 throw new XDSMetaDataException(ValidationMessage.INVALID_DOCUMENT_AVAILABILITY, opcode);
75 }
76
77
78
79
80
81
82
83
84
85 public static String toOpcode(DocumentAvailability documentAvailability) {
86 return documentAvailability != null ? documentAvailability.getOpcode() : null;
87 }
88
89
90
91
92
93
94
95
96
97 public static String toFullQualifiedOpcode(DocumentAvailability status) {
98 return status != null ? status.getFullQualified() : null;
99 }
100 }