1 package ca.uhn.fhir.model.primitive;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 import org.apache.commons.codec.binary.Base64;
24
25 import ca.uhn.fhir.model.api.BasePrimitive;
26 import ca.uhn.fhir.model.api.annotation.DatatypeDef;
27 import ca.uhn.fhir.model.api.annotation.SimpleSetter;
28
29 @DatatypeDef(name = "base64Binary")
30 public class Base64BinaryDt extends BasePrimitive<byte[]> {
31
32 private byte[] myValue;
33
34
35
36
37 public Base64BinaryDt() {
38 super();
39 }
40
41
42
43
44 @SimpleSetter
45 public Base64BinaryDt(@SimpleSetter.Parameter(name="theBytes") byte[] theBytes) {
46 setValue(theBytes);
47 }
48
49 @Override
50 public void setValueAsString(String theValue) {
51 if (theValue == null) {
52 myValue = null;
53 } else {
54 myValue = Base64.decodeBase64(theValue);
55 }
56 }
57
58 @Override
59 public String getValueAsString() {
60 if (myValue == null) {
61 return null;
62 } else {
63 return Base64.encodeBase64String(myValue);
64 }
65 }
66
67 @Override
68 public void setValue(byte[] theValue) {
69 myValue = theValue;
70 }
71
72 @Override
73 public byte[] getValue() {
74 return myValue;
75 }
76
77 }