0
|
1 package javax.wadls;
|
|
2
|
|
3 import java.net.URI;
|
|
4 import java.util.*;
|
|
5 import org.w3c.dom.*;
|
|
6
|
|
7 import javax.wadls.Params;
|
|
8 import javax.wadls.extensions.ExtensionRegistry;
|
|
9 import javax.xml.namespace.*;
|
|
10
|
|
11 /**
|
|
12 * This interface represents a WADLS Application
|
|
13 *
|
|
14 */
|
|
15 public interface Application extends java.io.Serializable
|
|
16 {
|
|
17
|
|
18 /**
|
|
19 * Get all the Operations which has a modelReference with the specified namespace and concept.
|
|
20 * @param namespace The namespace of the modelReference
|
|
21 * @param concept The concept of the modelReference
|
|
22 * @return All the Operations which has a modelReference with the specified namespace and concept.
|
|
23 */
|
|
24
|
|
25
|
|
26 List getMethodsByModelReference(URI namespace, String concept);
|
|
27
|
|
28 /**
|
|
29 * Get all the XSD Elements which has a modelReference with the specified namespace and concept.
|
|
30 * @param namespace The namespace of the modelReference
|
|
31 * @param concept The concept of the modelReference
|
|
32 * @return All the XSD Elements which has a modelReference with the specified namespace and concept.
|
|
33 */
|
|
34 List getXSDElementsByModelReference(URI namespace, String concept);
|
|
35
|
|
36 /**
|
|
37 * Get all the XSD ComplexTypes which has a modelReference with the specified namespace and concept.
|
|
38 * @param namespace The namespace of the modelReference
|
|
39 * @param concept The concept of the modelReference
|
|
40 * @return All the XSD ComplexTypes which has a modelReference with the specified namespace and concept.
|
|
41 */
|
|
42 List getXSDComplexTypeByModelReference(URI namespace, String concept);
|
|
43
|
|
44 /**
|
|
45 * Set the document base URI of this definition. Can be used to
|
|
46 * represent the origin of the Definition, and can be exploited
|
|
47 * when resolving relative URIs (e.g. in <import>s).
|
|
48 *
|
|
49 * @param documentBaseURI the document base URI of this definition
|
|
50 */
|
|
51 public void setDocumentBaseURI(String documentBaseURI);
|
|
52
|
|
53 /**
|
|
54 * Get the document base URI of this definition.
|
|
55 *
|
|
56 * @return the document base URI
|
|
57 */
|
|
58 public String getDocumentBaseURI();
|
|
59
|
|
60 public String getResourcesPath();
|
|
61 public void setResourcesPath(String path);
|
|
62 /**
|
|
63 * Set the name of this definition.
|
|
64 *
|
|
65 * @param name the desired name
|
|
66 */
|
|
67 public void setQName(QName name);
|
|
68
|
|
69 /**
|
|
70 * Get the name of this definition.
|
|
71 *
|
|
72 * @return the definition name
|
|
73 */
|
|
74 public QName getQName();
|
|
75
|
|
76 /**
|
|
77 * Set the target namespace in which WADL elements are defined.
|
|
78 *
|
|
79 * @param targetNamespace the target namespace
|
|
80 */
|
|
81 public void setTargetNamespace(String targetNamespace);
|
|
82
|
|
83 /**
|
|
84 * Get the target namespace in which the WADL elements
|
|
85 * are defined.
|
|
86 *
|
|
87 * @return the target namespace
|
|
88 */
|
|
89 public String getTargetNamespace();
|
|
90
|
|
91 /**
|
|
92 * This is a way to add a namespace association to a definition.
|
|
93 * It is similar to adding a namespace prefix declaration to the
|
|
94 * top of a <wsdl:definition> element. This has nothing to do
|
|
95 * with the <wsdl:import> element; there are separate methods for
|
|
96 * dealing with information described by <wsdl:import> elements.
|
|
97 *
|
|
98 * @param prefix the prefix to use for this namespace (when
|
|
99 * rendering this information as XML). Use null or an empty string
|
|
100 * to describe the default namespace (i.e. xmlns="...").
|
|
101 * @param namespaceURI the namespace URI to associate the prefix
|
|
102 * with. If you use null, the namespace association will be removed.
|
|
103 */
|
|
104 public void addNamespace(String prefix, String namespaceURI);
|
|
105
|
|
106 /**
|
|
107 * Get the namespace URI associated with this prefix. Or null if
|
|
108 * there is no namespace URI associated with this prefix. This is
|
|
109 * unrelated to the <wsdl:import> element.
|
|
110 *
|
|
111 * @see #addNamespace(String, String)
|
|
112 * @see #getPrefix(String)
|
|
113 */
|
|
114 public String getNamespace(String prefix);
|
|
115
|
|
116 public void setGrammars(Grammars grammars);
|
|
117 public Grammars getGrammars();
|
|
118
|
|
119 /**
|
|
120 * Get the types section.
|
|
121 *
|
|
122 * @return the types section
|
|
123 */
|
|
124 public Params getParams();
|
|
125 public void setParams(Params params);
|
|
126 /**
|
|
127 * Get a prefix associated with this namespace URI. Or null if
|
|
128 * there are no prefixes associated with this namespace URI. This is
|
|
129 * unrelated to the <wsdl:import> element.
|
|
130 *
|
|
131 * @see #addNamespace(String, String)
|
|
132 * @see #getNamespace(String)
|
|
133 */
|
|
134 public String getPrefix(String namespaceURI);
|
|
135
|
|
136 /**
|
|
137 * Get all namespace associations in this application. The keys are
|
|
138 * the prefixes, and the namespace URIs are the values. This is
|
|
139 * unrelated to the <wsdl:import> element.
|
|
140 *
|
|
141 * @see #addNamespace(String, String)
|
|
142 */
|
|
143 public Map getNamespaces();
|
|
144
|
|
145
|
|
146 /**
|
|
147 * Add an import to this WADL description.
|
|
148 *
|
|
149 * @param importDef the import to be added
|
|
150 */
|
|
151 public void addInclude(Include includeApp);
|
|
152
|
|
153 /**
|
|
154 * Get the list of imports for the specified namespaceURI.
|
|
155 *
|
|
156 * @param namespaceURI the namespaceURI associated with the
|
|
157 * desired imports.
|
|
158 * @return a list of the corresponding imports, or null if
|
|
159 * there weren't any matching imports
|
|
160 */
|
|
161 public List getIncludes(String namespaceURI);
|
|
162
|
|
163 /**
|
|
164 * Get a map of lists containing all the imports defined here.
|
|
165 * The map's keys are the namespaceURIs, and the map's values
|
|
166 * are lists. There is one list for each namespaceURI for which
|
|
167 * imports have been defined.
|
|
168 */
|
|
169 public Map getIncludes();
|
|
170
|
|
171
|
|
172 /**
|
|
173 * Add a portType to this WADL description.
|
|
174 *
|
|
175 * @param resource the resource to be added
|
|
176 */
|
|
177 public void addResource(Resource resource);
|
|
178
|
|
179 /**
|
|
180 * Get the specified resource. Also checks imported documents.
|
|
181 *
|
|
182 * @param name the name of the desired resource.
|
|
183 * @return the corresponding resource, or null if there wasn't
|
|
184 * any matching resource
|
|
185 */
|
|
186 public Resource getResource(QName name);
|
|
187
|
|
188 /**
|
|
189 * Remove the specified resource from this app.
|
|
190 *
|
|
191 * @param name the name of the resource to remove
|
|
192 * @return the resource previously associated with this qname, if there
|
|
193 * was one; may return null
|
|
194 */
|
|
195 public Resource removeResource(QName name);
|
|
196
|
|
197 /**
|
|
198 * Get all the resources defined here.
|
|
199 */
|
|
200 public Map getResources();
|
|
201
|
|
202 /**
|
|
203 * Set the documentation element for this document. This dependency
|
|
204 * on org.w3c.dom.Element should eventually be removed when a more
|
|
205 * appropriate way of representing this information is employed.
|
|
206 *
|
|
207 * @param docEl the documentation element
|
|
208 */
|
|
209 public void setDocumentationElement(Element docEl);
|
|
210
|
|
211 /**
|
|
212 * Get the documentation element. This dependency on org.w3c.dom.Element
|
|
213 * should eventually be removed when a more appropriate way of
|
|
214 * representing this information is employed.
|
|
215 *
|
|
216 * @return the documentation element
|
|
217 */
|
|
218 public Element getDocumentationElement();
|
|
219
|
|
220
|
|
221 public ModelReference createModelReference();
|
|
222
|
|
223 /**
|
|
224 * Create a new precondition.
|
|
225 *
|
|
226 * @return the newly created precondition
|
|
227 */
|
|
228 public PreCondition createPreCondition();
|
|
229
|
|
230 /**
|
|
231 * Create a new effect.
|
|
232 *
|
|
233 * @return the newly created effect
|
|
234 */
|
|
235 public Effect createEffect();
|
|
236
|
|
237 public Include createInclude();
|
|
238
|
|
239 /**
|
|
240 * Create a new input.
|
|
241 *
|
|
242 * @return the newly created input
|
|
243 */
|
|
244 public Request createRequest();
|
|
245
|
|
246
|
|
247 /**
|
|
248 * Create a new operation.
|
|
249 *
|
|
250 * @return the newly created operation
|
|
251 */
|
|
252 public Method createMethod();
|
|
253
|
|
254 /**
|
|
255 * Create a new output.
|
|
256 *
|
|
257 * @return the newly created output
|
|
258 */
|
|
259 public Response createResponse();
|
|
260
|
|
261
|
|
262
|
|
263 public Resource createResource();
|
|
264
|
|
265
|
|
266 public Params createParams();
|
|
267 public Grammars createGrammars();
|
|
268 } |