0
|
1 /*
|
|
2 * (c) Copyright IBM Corp 2001, 2005
|
|
3 */
|
|
4
|
|
5 package javax.wadls.xml;
|
|
6
|
|
7 import java.io.InputStream;
|
|
8 import java.net.URISyntaxException;
|
|
9
|
|
10 import org.w3c.dom.*;
|
|
11 import org.xml.sax.*;
|
|
12
|
|
13 import javax.wadls.*;
|
|
14 import javax.wadls.extensions.*;
|
|
15 import javax.wadls.extensions.ExtensionRegistry;
|
|
16
|
|
17 /**
|
|
18 * This interface describes a collection of methods
|
|
19 * that enable conversion of a WSDL document (in XML,
|
|
20 * following the WSDL schema described in the WSDL
|
|
21 * specification) into a WSDL model.
|
|
22 *
|
|
23 * @author Matthew J. Duftler
|
|
24 */
|
|
25 public interface WADLReader
|
|
26 {
|
|
27 /**
|
|
28 * Sets the specified feature to the specified value.
|
|
29 * <p>
|
|
30 * The minimum features that must be supported are:
|
|
31 * <p>
|
|
32 * <table border=1>
|
|
33 * <tr>
|
|
34 * <th>Name</th>
|
|
35 * <th>Description</th>
|
|
36 * <th>Default Value</th>
|
|
37 * </tr>
|
|
38 * <tr>
|
|
39 * <td><center>javax.wsdls.verbose</center></td>
|
|
40 * <td>If set to true, status messages will be displayed.</td>
|
|
41 * <td><center>true</center></td>
|
|
42 * </tr>
|
|
43 * <tr>
|
|
44 * <td><center>javax.wsdls.importDocuments</center></td>
|
|
45 * <td>If set to true, imported WSDL documents will be
|
|
46 * retrieved and processed.</td>
|
|
47 * <td><center>true</center></td>
|
|
48 * </tr>
|
|
49 * </table>
|
|
50 * <p>
|
|
51 * All feature names must be fully-qualified, Java package style. All
|
|
52 * names starting with javax.wsdls. are reserved for features defined
|
|
53 * by the JWSDL specification. It is recommended that implementation-
|
|
54 * specific features be fully-qualified to match the package name
|
|
55 * of that implementation. For example: com.abc.featureName
|
|
56 *
|
|
57 * @param name the name of the feature to be set.
|
|
58 * @param value the value to set the feature to.
|
|
59 * @throws IllegalArgumentException if the feature name is not recognized.
|
|
60 * @see #getFeature(String)
|
|
61 */
|
|
62
|
|
63 public void setFeature(String name, boolean value)
|
|
64 throws IllegalArgumentException;
|
|
65
|
|
66 /**
|
|
67 * Gets the value of the specified feature.
|
|
68 *
|
|
69 * @param name the name of the feature to get the value of.
|
|
70 * @throws IllegalArgumentException if the feature name is not recognized.
|
|
71 * @see #setFeature(String, boolean)
|
|
72 */
|
|
73 public boolean getFeature(String name) throws IllegalArgumentException;
|
|
74
|
|
75
|
|
76
|
|
77 /**
|
|
78 * Set a different factory implementation to use for
|
|
79 * creating definitions when reading WSDL documents.
|
|
80 * As some WSDLReader implementations may only be
|
|
81 * capable of creating definitions using the same
|
|
82 * factory implementation from which the reader was
|
|
83 * obtained, this method is optional. Default is null.
|
|
84 *
|
|
85 * @param factoryImplName the fully-qualified class name of the
|
|
86 * class which provides a concrete implementation of the abstract
|
|
87 * class WSDLFactory.
|
|
88 * @throws UnsupportedOperationException if this method
|
|
89 * is invoked on an implementation which does not
|
|
90 * support it.
|
|
91 */
|
|
92 public void setFactoryImplName(String factoryImplName)
|
|
93 throws UnsupportedOperationException;
|
|
94
|
|
95 /**
|
|
96 * Get the factoryImplName, if one was set. Default is null.
|
|
97 */
|
|
98 public String getFactoryImplName();
|
|
99
|
|
100 public Application readWADL(InputStream wadlIS) throws WADLSException;
|
|
101
|
|
102 /**
|
|
103 * Read the WSDL document accessible via the specified
|
|
104 * URI into a WSDL definition.
|
|
105 *
|
|
106 * @param wsdlURI a URI (can be a filename or URL) pointing to a
|
|
107 * WSDL XML definition.
|
|
108 * @return the definition.
|
|
109 */
|
|
110 public Application readWADL(String wadlURI) throws WADLSException;
|
|
111
|
|
112 /**
|
|
113 * Read the WSDL document accessible via the specified
|
|
114 * URI into a WSDL definition.
|
|
115 *
|
|
116 * @param contextURI the context in which to resolve the
|
|
117 * wsdlURI, if the wsdlURI is relative. Can be null, in which
|
|
118 * case it will be ignored.
|
|
119 * @param wsdlURI a URI (can be a filename or URL) pointing to a
|
|
120 * WSDL XML definition.
|
|
121 * @return the definition.
|
|
122 */
|
|
123 public Application readWADL(String contextURI, String wadlURI)
|
|
124 throws WADLSException;
|
|
125
|
|
126 /**
|
|
127 * Read the specified <wsdl:definitions> element into a WSDL
|
|
128 * definition.
|
|
129 *
|
|
130 * @param documentBaseURI the document base URI of the WSDL definition
|
|
131 * described by the element. Will be set as the documentBaseURI
|
|
132 * of the returned Definition. Can be null, in which case it
|
|
133 * will be ignored.
|
|
134 * @param definitionsElement the <wsdl:definitions> element
|
|
135 * @return the definition described by the element.
|
|
136 */
|
|
137 public Application readWADL(String documentBaseURI,
|
|
138 Element definitionsElement)
|
|
139 throws WADLSException, URISyntaxException;
|
|
140
|
|
141 /**
|
|
142 * Read the specified WSDL document into a WSDL definition.
|
|
143 *
|
|
144 * @param documentBaseURI the document base URI of the WSDL definition
|
|
145 * described by the document. Will be set as the documentBaseURI
|
|
146 * of the returned Definition. Can be null, in which case it
|
|
147 * will be ignored.
|
|
148 * @param wsdlDocument the WSDL document, an XML
|
|
149 * document obeying the WSDL schema.
|
|
150 * @return the definition described in the document.
|
|
151 */
|
|
152 public Application readWADL(String documentBaseURI, Document wadlDocument)
|
|
153 throws WADLSException, URISyntaxException;
|
|
154
|
|
155 /**
|
|
156 * Read a WSDL document into a WSDL definition.
|
|
157 *
|
|
158 * @param documentBaseURI the document base URI of the WSDL definition
|
|
159 * described by the document. Will be set as the documentBaseURI
|
|
160 * of the returned Definition. Can be null, in which case it
|
|
161 * will be ignored.
|
|
162 * @param inputSource an InputSource pointing to the
|
|
163 * WSDL document, an XML document obeying the WSDL schema.
|
|
164 * @return the definition described in the document pointed to
|
|
165 * by the InputSource.
|
|
166 */
|
|
167 public Application readWADL(String documentBaseURI, InputSource inputSource)
|
|
168 throws WADLSException, URISyntaxException;
|
|
169
|
|
170 /**
|
|
171 * Read a WSDL document into a WSDL definition.
|
|
172 *
|
|
173 * @param locator A WSDLLocator object used to provide InputSources
|
|
174 * pointing to the wsdl file.
|
|
175 * @return the definition described in the document
|
|
176 */
|
|
177 public Application readWADL(WADLLocator locator) throws WADLSException, URISyntaxException;
|
|
178 } |