1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 package axis.dynamic;
32
33 import java.util.ArrayList;
34 import java.util.HashMap;
35 import java.util.List;
36 import java.util.Map;
37
38 import org.apache.axis.AxisEngine;
39 import org.apache.axis.Chain;
40 import org.apache.axis.Handler;
41 import org.apache.axis.SimpleChain;
42 import org.apache.axis.constants.Style;
43 import org.apache.axis.constants.Use;
44
45
46
47
48
49
50 public abstract class SoapInterface
51 {
52 private List<Handler> _requestHandlers;
53
54 private List<Handler> _responseHandlers;
55
56 protected Map<String, Object> _properties = new HashMap<String, Object>();
57
58 public abstract void setStyle( Style style );
59
60 public abstract void setUse( Use use );
61
62
63 public void setSendMultiRefs( boolean multiRefs )
64 {
65 setProperty(AxisEngine.PROP_DOMULTIREFS, Boolean.valueOf(multiRefs));
66 }
67
68 public void setSendXsiTypes( boolean xsiTypes )
69 {
70 setProperty(AxisEngine.PROP_SEND_XSI, Boolean.valueOf(xsiTypes));
71 }
72
73 public void setUsePrettyXml( boolean pretty )
74 {
75 setProperty(AxisEngine.PROP_DISABLE_PRETTY_XML, Boolean.valueOf(! pretty));
76 }
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92 protected void setProperty( String name, Object value )
93 {
94 _properties.put(name, value);
95 }
96
97 public void setRequestHandlers( List<Handler> handlers )
98 {
99 _requestHandlers = handlers;
100 }
101
102 public void addRequestHandler( Handler handler )
103 {
104 if (_requestHandlers == null) _requestHandlers = new ArrayList<Handler>();
105 _requestHandlers.add(handler);
106 }
107
108 public void setResponseHandlers( List<Handler> handlers )
109 {
110 _responseHandlers = handlers;
111 }
112
113 public void addResponseHandler( Handler handler )
114 {
115 if (_responseHandlers == null) _responseHandlers = new ArrayList<Handler>();
116 _responseHandlers.add(handler);
117 }
118
119
120
121
122 protected Chain getRequestChain()
123 {
124 return getChain(_requestHandlers);
125 }
126
127
128
129
130 protected Chain getResponseChain()
131 {
132 return getChain(_responseHandlers);
133 }
134
135
136
137
138
139 private Chain getChain( List<Handler> handlers )
140 {
141 if (handlers == null) return null;
142
143 SimpleChain chain = new SimpleChain();
144 for (Handler handler : handlers)
145 {
146 chain.addHandler(handler);
147 }
148 return chain;
149 }
150
151 }