1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.fourthline.cling.model.types;
17
18 import org.seamless.util.io.HexBin;
19
20
21
22
23 public class BinHexDatatype extends AbstractDatatype<byte[]> {
24
25 public BinHexDatatype() {
26 }
27
28 public Class<byte[]> getValueType() {
29 return byte[].class;
30 }
31
32 public byte[] valueOf(String s) throws InvalidValueException {
33 if (s.equals("")) return null;
34 try {
35 return HexBin.stringToBytes(s);
36 } catch (Exception ex) {
37 throw new InvalidValueException(ex.getMessage(), ex);
38 }
39 }
40
41 @Override
42 public String getString(byte[] value) throws InvalidValueException {
43 if (value == null) return "";
44 try {
45 return HexBin.bytesToString(value);
46 } catch (Exception ex) {
47 throw new InvalidValueException(ex.getMessage(), ex);
48 }
49 }
50
51 }