1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.fourthline.cling.model.types;
16
17
18
19
20
21 public class PragmaType {
22
23 private String token;
24 private boolean quote;
25 private String value;
26
27 public PragmaType(String token, String value, boolean quote) {
28 this.token = token;
29 this.value = value;
30 this.quote = quote;
31 }
32
33 public PragmaType(String token, String value) {
34 this.token = token;
35 this.value = value;
36 }
37
38 public PragmaType(String value) {
39 this.token = null;
40 this.value = value;
41 }
42
43
44
45
46
47 public String getToken() {
48 return token;
49 }
50
51
52
53
54 public String getValue() {
55 return value;
56 }
57
58
59
60
61
62 public String getString() {
63 String s ="";
64 if (token!=null)
65 s += token + "=";
66
67 s += quote? "\""+value+"\"" : value;
68 return s;
69 }
70
71 public static PragmaType valueOf(String s) throws InvalidValueException {
72 if (s.length() != 0) {
73 String token=null, value = null;
74 boolean quote = false;
75 String[] params = s.split("=");
76 if (params.length > 1) {
77 token = params[0];
78 value = params[1];
79 if (value.startsWith("\"") && value.endsWith("\"")) {
80 quote = true;
81 value = value.substring(1, value.length()-1);
82 }
83 }
84 else {
85 value = s;
86 }
87 return new PragmaType(token, value, quote);
88 }
89 throw new InvalidValueException("Can't parse Bytes Range: " + s);
90 }
91
92 }