1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.fourthline.cling.model.message.header;
17
18 import org.fourthline.cling.model.types.SoapActionType;
19
20 import java.net.URI;
21
22
23
24
25 public class SoapActionHeader extends UpnpHeader<SoapActionType> {
26
27 public SoapActionHeader() {
28 }
29
30 public SoapActionHeader(URI uri) {
31 setValue(SoapActionType.valueOf(uri.toString()));
32 }
33
34 public SoapActionHeader(SoapActionType value) {
35 setValue(value);
36 }
37
38 public SoapActionHeader(String s) throws InvalidHeaderException {
39 setString(s);
40 }
41
42 public void setString(String s) throws InvalidHeaderException {
43 try {
44 if (!s.startsWith("\"") && s.endsWith("\"")) {
45 throw new InvalidHeaderException("Invalid SOAP action header, must be enclosed in doublequotes:" + s);
46 }
47
48 SoapActionType t = SoapActionType.valueOf(s.substring(1, s.length()-1));
49 setValue(t);
50 } catch (RuntimeException ex) {
51 throw new InvalidHeaderException("Invalid SOAP action header value, " + ex.getMessage());
52 }
53 }
54
55 public String getString() {
56 return "\"" + getValue().toString() + "\"";
57 }
58 }