You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by jk...@apache.org on 2007/02/08 04:14:31 UTC
svn commit: r504775 [4/5] - in /incubator/woden/trunk/java: ./ ant-test/
src/org/apache/woden/ src/org/apache/woden/ant/
src/org/apache/woden/internal/resolver/ src/org/apache/woden/internal/util/
src/org/apache/woden/resolver/ src/org/apache/woden/sch...
Modified: incubator/woden/trunk/java/build.xml
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/build.xml?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/build.xml (original)
+++ incubator/woden/trunk/java/build.xml Wed Feb 7 19:14:28 2007
@@ -218,7 +218,7 @@
<!-- Get the latest W3C WSDL 2.0 Test Cases and Schemas and unzip it -->
<target name="getW3cWsdl20" depends="getW3cWsdl20File, getW3cAssertsFile" description="--> Gets the W3C Test Suite"/>
- <target name="getW3cWsdl20File" unless="W3cWsdl20Files.exists">
+ <target name="getW3cWsdl20File" unless="W3cWsdl20File.exists">
<mkdir dir="${w3cDir}" />
<get src="${W3cWsdl20URL}" dest="${downloads}/${W3cWsdl20File}" />
Modified: incubator/woden/trunk/java/src/org/apache/woden/ErrorLocator.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/ErrorLocator.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/ErrorLocator.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/ErrorLocator.java Wed Feb 7 19:14:28 2007
@@ -17,13 +17,13 @@
package org.apache.woden;
/**
- * Represents the location of parsing error within a XML document.
+ * Represents the location of a parsing error within an XML document.
* Based on org.xml.sax.Locator.
- *
+ * <p>
* TODO decide if URI info of the document is needed,
* and maybe XPATH of the element or attribute in error.
*
- * @author kaputin
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface ErrorLocator {
Modified: incubator/woden/trunk/java/src/org/apache/woden/WSDLSource.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/WSDLSource.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/WSDLSource.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/WSDLSource.java Wed Feb 7 19:14:28 2007
@@ -42,8 +42,8 @@
* Programming example:
* <pre>
* //wsdlURI is the URI of the base wsdl document.
- * //domReader is an instance of DOMWSDLReader
- * //domElement is an org.w3c.dom.Element representing a description element.
+ * //domReader is a DOM-based implementation of WSDLReader
+ * //domElement is an org.w3c.dom.Element representing a <wsdl:description> element.
*
* WSDLSource wsdlSource = domReader.createWSDLSource();
* wsdlSource.setBaseURI(wsdlURI);
Modified: incubator/woden/trunk/java/src/org/apache/woden/ant/ValidateWSDL20.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/ant/ValidateWSDL20.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/ant/ValidateWSDL20.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/ant/ValidateWSDL20.java Wed Feb 7 19:14:28 2007
@@ -20,6 +20,7 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
+import java.net.MalformedURLException;
import javax.xml.namespace.QName;
@@ -94,6 +95,13 @@
// report writer
private Report reportWriter;
+ // resolver catalog location
+ private String catalog;
+
+ // base URI for the catalog
+ private String baseURI;
+
+
// default extension for Component Model interchange format output
private static final String CMEXT_DEFAULT = ".wsdlcm";
@@ -417,5 +425,39 @@
wsdlCm.write(descComp);
out.close();
fos.close();
+ }
+
+ /**
+ * Sets the resolver catalog file.
+ *
+ * @param catalog resolver catalog file URI
+ */
+ public void setCatalog(String catalog) {
+ this.catalog = getURLFilePath(catalog);
+ System.setProperty("org.apache.woden.resolver.simpleresolver.catalog", this.catalog);
+ }
+
+ /**
+ * Sets the resolver base URI path.
+ *
+ * @param baseURI base URI path
+ */
+ public void setBaseURI(String baseURI) {
+ this.baseURI = getURLFilePath(baseURI);
+ System.setProperty("org.apache.woden.resolver.simpleresolver.baseURIs", this.baseURI);
+ }
+
+ private String getURLFilePath(String localPath) {
+ File localFile = new File(localPath);
+ if (localFile.exists()) {
+ try {
+ return localFile.toURI().toURL().toString();
+ } catch (MalformedURLException mue) {
+ System.err.println("Got MalformedURLException trying to create a URL from " + localPath);
+ return localPath;
+ }
+ } else {
+ return localPath;
+ }
}
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/internal/resolver/SimpleURIResolver.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/internal/resolver/SimpleURIResolver.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/internal/resolver/SimpleURIResolver.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/internal/resolver/SimpleURIResolver.java Wed Feb 7 19:14:28 2007
@@ -36,11 +36,11 @@
import org.apache.woden.internal.util.PropertyUtils;
import org.apache.woden.resolver.URIResolver;
-/**
+/*
* A Simple URI Resolver.
*
* Locating the catalog file:
- * These alternatives, listed in search order, are:
+ * These alternatives, listed in search order, will be:
* 1. JVM system properties (e.g. java -D arguments)
* use -Dorg.apache.woden.resolver.simpleresolver.catalog="<filespec>" on the command line
* where <filespec> is the location of the simple resolver catalog on the local file system.
@@ -52,27 +52,28 @@
*
* Catalog file format:
* This is as for Java Properties file format, with one entry for each resolution mapping:
- * <listed document URI>=<physical location>.
+ * <listed document URI>=<physical location URI>.
*
- * A typical catalog will include resolutions of XML schema and associated documents, sufficient to
- * run the parser "offline".
- * Example catalog file contents:
+ * Example catalog file contents (fictitious):
*
- * # standard resolutions for XML Schema
* # {referenced URI}={actual location}
* #
- * http\://www.w3.org/2006/01/wsdl/wsdl20.xsd=file:///c:/schema/wsdl20.xsd
- * http\://www.w3.org/2001/XMLSchema.xsd=file:///c:/schema/XMLSchema.xsd
+ * http\://www.apache.org/schema/remoteSchema.xsd=file:///c:/schema/localSchema.xsd
+ * http\://www.apache.org/schema/myDoc=file:///c:/schema/XMLSchema.xsd
* http\://www.w3.org/2006/01/wsdl-extensions.xsd=file:///c:/schema/wsdl-extensions.xsd
* # end
*
- * Note the use of backslash on the first colon of each line.
- * Also {actual location} is treated as a URI but for local files the abbreviated form can be used
- * like this:
+ * Note the use of backslash on the first colon of each line. This is necessary as catalog files are
+ * read as Java Properties files.
*
- * http\://www.w3.org/2006/01/wsdl/wsdl20.xsd=c:/schema/wsdl20.xsd
- *
- * TODO - update the javadoc.
+ * Currently, any relative URI references to other documents (such as with the WSDL 2.0 "location"
+ * attribute of the <wsdl:import> and <wsdl:include> elements) will be automatically resolved
+ * by virtue of the parent document.
+ * That is, if document a.wsdl references b.wsdl with a relative path and a.wsdl has an entry in the catalog
+ * file, then the reference to b.wsdl will be deemed relative to the resolved location of a.wsdl (not the
+ * original location). This is under review and it is expected that future milestone releases will offer the
+ * choice of either option.
+ *
*/
public class SimpleURIResolver implements URIResolver {
Modified: incubator/woden/trunk/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java Wed Feb 7 19:14:28 2007
@@ -66,6 +66,8 @@
import org.apache.woden.wsdl20.xml.WSDLElement;
import org.apache.ws.commons.schema.XmlSchema;
import org.apache.ws.commons.schema.XmlSchemaExternal;
+import org.apache.ws.commons.schema.XmlSchemaImport;
+import org.apache.ws.commons.schema.XmlSchemaInclude;
import org.apache.ws.commons.schema.XmlSchemaObjectCollection;
import org.apache.ws.commons.schema.XmlSchemaObjectTable;
@@ -152,12 +154,26 @@
URI typeSystemURI = URI.create(Constants.TYPE_XSD_2001); //TODO support other type systems?
TypesElement types = desc.getTypesElement();
if (types != null) {
- Schema[] schemas = types.getSchemas(); //schema inline/imported directly by <types>
+ //first, get the list of imported schema namespaces
+ Schema[] importedSchemas = types.getImportedSchemas();
+ List importedNSpaces = new Vector();
+ for(int j=0; j<importedSchemas.length; j++) {
+ URI nsURI = importedSchemas[j].getNamespace();
+ if(nsURI != null) {
+ String ns = nsURI.toString();
+ if(!importedNSpaces.contains(ns)) {
+ importedNSpaces.add(ns);
+ }
+ }
+ }
+ //second, process all schemas inlined or imported directly by <types>
+ Schema[] schemas = types.getSchemas();
XmlSchema xmlSchema;
for(int i=0; i<schemas.length; i++) {
xmlSchema = schemas[i].getSchemaDefinition();
if(xmlSchema != null && !fSchemasDone.contains(xmlSchema)) {
- buildElementsAndTypes(xmlSchema, xmlSchema.getTargetNamespace(), typeSystemURI);
+ buildElementsAndTypes(
+ xmlSchema, xmlSchema.getTargetNamespace(), typeSystemURI, importedNSpaces);
}
}
}
@@ -196,7 +212,7 @@
//}
}
- private void buildElementsAndTypes(XmlSchema schemaDef, String schemaTns, URI typeSystemURI) {
+ private void buildElementsAndTypes(XmlSchema schemaDef, String schemaTns, URI typeSystemURI, List importedNSpaces) {
if(fSchemasDone.contains(schemaDef)) {
return;
@@ -224,7 +240,11 @@
XmlSchema schema = externalSchema.getSchema();
if(schema != null )
{
- buildElementsAndTypes(schema, schema.getTargetNamespace(), typeSystemURI);
+ String schemaTNS = schema.getTargetNamespace();
+ if( externalSchema instanceof XmlSchemaInclude ||
+ (externalSchema instanceof XmlSchemaImport && importedNSpaces.contains(schemaTNS)) ) {
+ buildElementsAndTypes(schema, schemaTNS, typeSystemURI, importedNSpaces);
+ }
}
}
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/resolver/URIResolver.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/resolver/URIResolver.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/resolver/URIResolver.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/resolver/URIResolver.java Wed Feb 7 19:14:28 2007
@@ -23,30 +23,31 @@
import org.apache.woden.WSDLException;
-/**
- * URI Resolver interface
- *
- * To associate a URI resolver programmatically, the following should be called prior to parser invocation.
- * Example:
- *
- * WSDLFactory factory = WSDLFactory.newInstance();
- * WSDLReader reader = factory.newWSDLReader();
- * URIResolver resolver = new XXXURIResolver(); // XXXURIResolver implements this interface
- * reader.setURIResolver(resolver);
- * ...
- * DescriptionElement descElem = reader.readWSDL(wsdlurl);
- *
- *
+/**
+ *Implementations of this interface may be used to specify a custom URI resolver.
+ *Such an implementation can then be used to override the default Woden URI Resolver.
+ *To associate a URI resolver programmatically, the following should be called prior to parser invocation.
+ *<p>Example:
+ *<br>WSDLFactory factory = WSDLFactory.newInstance();
+ *<br>WSDLReader reader = factory.newWSDLReader();
+ *<br>// MyURIResolver implements this interface ...
+ *<br>URIResolver resolver = new MyURIResolver();
+ *<br>reader.setURIResolver(resolver);
+ *<br>...
+ *<br>// Then, can parse a document and the assigned resolver will be used internally...
+ *<br>Description desc = reader.readWSDL("http://myplace/mydoc.wsdl");
+ *@see org.apache.woden.WSDLFactory
+ *@see org.apache.woden.WSDLReader
*/
public interface URIResolver {
/**
- * Implementation should return null if there is no resolution for the uri
+ * Implementation should return null if there is no resolution for the uri.
*
- * @param uri
- * @return the resolved URI to read from
- * @throws WSDLException
- * @throws IOException
+ * @param uri the uri to be resolved
+ * @return the resolved URI (or null if no resolution available)
+ * @throws WSDLException
+ * @throws IOException
*/
public URI resolveURI(URI uri) throws WSDLException, IOException;
Modified: incubator/woden/trunk/java/src/org/apache/woden/schema/ImportedSchema.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/schema/ImportedSchema.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/schema/ImportedSchema.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/schema/ImportedSchema.java Wed Feb 7 19:14:28 2007
@@ -19,10 +19,10 @@
import java.net.URI;
/**
- * This interface represents a schema import, <xs:import>. It extends the Schema
+ * This interface represents a schema import element, <xs:import>. It extends the Schema
* interface, adding support for the <code>schemaLocation</code> attribute.
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface ImportedSchema extends Schema {
Modified: incubator/woden/trunk/java/src/org/apache/woden/schema/InlinedSchema.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/schema/InlinedSchema.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/schema/InlinedSchema.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/schema/InlinedSchema.java Wed Feb 7 19:14:28 2007
@@ -18,10 +18,10 @@
/**
- * This interface represents an inlined schema, <xs:schema>. It extends the Schema
+ * This interface represents an inlined schema element, <xs:schema>. It extends the Schema
* interface, adding support for the <code>id</code> attribute.
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface InlinedSchema extends Schema {
Modified: incubator/woden/trunk/java/src/org/apache/woden/schema/Schema.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/schema/Schema.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/schema/Schema.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/schema/Schema.java Wed Feb 7 19:14:28 2007
@@ -24,48 +24,78 @@
/**
* This interface provides an abstract representation of an XML Schema referenced
- * within the WSDL <types> element. For example, via <xs:schema> or
+ * within the <wsdl:types> element. For example, via <xs:schema> or
* <xs:import>.
- * It contains the namespace used as the target namespace of an inlined schema
+ * It provides the namespace used as the target namespace of an inlined schema
* or as the imported namespace of a schema import.
- * It contains a reference to the actual schema definition, represented by
- * <code>org.apache.ws.commons.schema.XmlSchema</code>.
- * It also indicates whether the schema is 'referenceable' by the WSDL,
- * as defined by the schema referenceability rules in the WSDL 2.0 spec.
+ * It provides a reference to the actual schema definition, represented by
+ * <code>org.apache.ws.commons.schema.XmlSchema</code>.
+ * For applications that use other representations for XML Schema content,
+ * it also provides a reference to the <code>org.apache.woden.XMLElement</code>
+ * object that wraps the underlying <xs:schema> or <xs:import>
+ * element.
+ * It also indicates whether the schema is 'referenceable' by the surrounding
+ * WSDL document, as defined by the schema referenceability rules in the
+ * WSDL 2.0 spec.
* <p>
*
* NOTE: non-XML type systems like DTD are not handled by this interface. They must be
* handled by WSDL 2.0 extension mechanisms.
+ * <br />
+ * TODO Need to determine if this interface is suitable for use with other xml-based
+ * schema types like Relax NG or if some type of schema extension mechanism is required.
*
- * TODO initially this will be tested with XML Schema. Need to determine if it really
- * is sufficient for other xml-based schema types like Relax NG or if some type of
- * schema extension mechanism is required.
- *
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface Schema {
/**
- * @return a URI representing the target namespace of an inline schema or the
- * namespace attribute of a schema import.
+ * Returns a URI representing the <code>targetNamespace</code> attribute of a
+ * <xs:schema> element or the <code>namespace</code> attribute of a
+ * <xs:import> element.
+ *
+ * @return a URI representing the schema's namespace
*/
public URI getNamespace();
+
+ /**
+ * Set the <code>targetNamespace</code> attribute of a <xs:schema> element
+ * or the <code>namespace</code> attribute of a <xs:import> element.
+ * @param namespace
+ */
public void setNamespace(URI namespace);
/**
- * @return the XmlSchema object representing the schema contents.
+ * Returns an <code>XmlSchema</code> representing the schema definition inlined by
+ * a <xs:schema> element or imported by a <xs:import> element.
+ *
+ * @return the <code>XmlSchema</code> representing schema definition.
*/
public XmlSchema getSchemaDefinition();
+
+ /**
+ * Sets the schema definition for an inlined schema or schema import to the specified
+ * <code>XmlSchema</code>.
+ *
+ * @param schemaDef the <code>XmlSchema</code> representing this schema
+ */
public void setSchemaDefinition(XmlSchema schemaDef);
/**
- * Returns the XMLElement object representing the <code>xs:schema</code> or <code>xs:import</code>
+ * Returns the XMLElement representing the <code>xs:schema</code> or <code>xs:import</code>
* element within the <code>wsdl:types</code> element. This provides an 'wrapper' to the
* underlying XML Schema infoset for applications that need schema processing alternatives to
* Apache WS Commons XmlSchema.
*
- * @return the XMLElement
+ * @return the XMLElement that wraps the underlying schema or schema import element
*/
public XMLElement getXMLElement();
+
+ /**
+ * Sets the XMLElement representing the underlying <code>xs:schema</code> or <code>xs:import</code>
+ * element.
+ *
+ * @param xsdElement the XMLElement
+ */
public void setXMLElement(XMLElement xsdElement);
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/types/XMLChar.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/types/XMLChar.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/types/XMLChar.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/types/XMLChar.java Wed Feb 7 19:14:28 2007
@@ -18,12 +18,12 @@
package org.apache.woden.types;
/**
- * This class has been copied from Axis into Woden to support the NCName class.
- *
* This class defines the basic XML character properties. The data
* in this class can be used to verify that a character is a valid
* XML character or if the character is a space, name start, or name
* character.
+ * <p>
+ * This class has been copied from Axis into Woden to support the NCName class.
* <p>
* A series of convenience methods are supplied to ease the burden
* of the developer. Because inlining the checks can improve per
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Binding.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Binding.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Binding.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Binding.java Wed Feb 7 19:14:28 2007
@@ -25,19 +25,62 @@
/**
* Represents the Binding component from the WSDL 2.0 Component model.
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface Binding extends WSDLComponent
{
+ /**
+ * Returns a QName representing the {name} property of the Binding component.
+ *
+ * @return QName the qualified name of the Binding
+ */
public QName getName();
+ /**
+ * Represents the {interface} property of the Binding component. This is the Interface component
+ * that this Binding defines concrete bindings for. For an 'interface-less' or 'generic' binding,
+ * this method will return null.
+ *
+ * @return Interface for which bindings are provided by this Binding
+ */
public Interface getInterface();
+ /**
+ * Returns a URI representing the {type} property of the Binding component.
+ * <p>
+ * For example:
+ * <br/>
+ * For a SOAP binding this will be the uri "http://www.w3.org/2006/01/wsdl/soap".
+ * <br/>
+ * For an HTTP binding this will be the uri "http://www.w3.org/2006/01/wsdl/http".
+ *
+ * @return URI representing the binding type
+ */
public URI getType();
+ /**
+ * Represents the {binding faults} property of the Binding component. This is the set of
+ * binding faults declared by this binding. The method will return an empty array if there
+ * are no binding faults.
+ *
+ * @return an array of BindingFault objects
+ */
public BindingFault[] getBindingFaults();
+ /**
+ * Represents the {binding operations} property of the Binding component. This is the set of
+ * binding operations declared by this binding. The method will return an empty array if there
+ * are no binding operations.
+ *
+ * @return an array of BindingOperation objects
+ */
public BindingOperation[] getBindingOperations();
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ *
+ * @return the BindingElement that maps to this Binding
+ */
public BindingElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingFault.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingFault.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingFault.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingFault.java Wed Feb 7 19:14:28 2007
@@ -19,13 +19,26 @@
import org.apache.woden.wsdl20.xml.BindingFaultElement;
/**
- * This interface represents the BindingFault component from the WSDL 2.0 Component model.
+ * Represents the BindingFault component from the WSDL 2.0 Component model.
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface BindingFault extends NestedComponent
{
+ /**
+ * Returns an InterfaceFault representing the {interface fault} property of the
+ * BindingFault component. That is, the interface fault that this binding fault
+ * provides concrete bindings for.
+ *
+ * @return an InterfaceFault bound by this BindingFault
+ */
public InterfaceFault getInterfaceFault();
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ *
+ * @return the BindingFaultElement that maps to this BindingFault
+ */
public BindingFaultElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingFaultReference.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingFaultReference.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingFaultReference.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingFaultReference.java Wed Feb 7 19:14:28 2007
@@ -19,14 +19,26 @@
import org.apache.woden.wsdl20.xml.BindingFaultReferenceElement;
/**
- * This interface represents the BindingFaultReference component of the
- * WSDL 2.0 Component model.
+ * Represents the BindingFaultReference component from the WSDL 2.0 Component model.
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface BindingFaultReference extends NestedComponent
{
+ /**
+ * Returns an InterfaceFaultReference representing the {interface fault reference}
+ * property of the BindingFaultReference component. That is, the interface fault
+ * reference that this binding fault reference provides concrete bindings for.
+ *
+ * @return an InterfaceFaultReference bound by this BindingFaultReference
+ */
public InterfaceFaultReference getInterfaceFaultReference();
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ *
+ * @return the BindingFaultReferenceElement that maps to this BindingFaultReference
+ */
public BindingFaultReferenceElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingMessageReference.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingMessageReference.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingMessageReference.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingMessageReference.java Wed Feb 7 19:14:28 2007
@@ -19,14 +19,26 @@
import org.apache.woden.wsdl20.xml.BindingMessageReferenceElement;
/**
- * This interface represents the BindingMessageReference component
- * of the WSDL 2.0 Component model
+ * Represents the BindingMessageReference component from the WSDL 2.0 Component model
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface BindingMessageReference extends NestedComponent
{
+ /**
+ * Returns an InterfaceMessageReference representing the {interface message reference}
+ * property of the BindingMessageReference component. That is, the interface message
+ * reference that this binding message reference provides concrete bindings for.
+ *
+ * @return an InterfaceMessageReference bound by this BindingMessageReference
+ */
public InterfaceMessageReference getInterfaceMessageReference();
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ *
+ * @return the BindingMessageReferenceElement that maps to this BindingMessageReference
+ */
public BindingMessageReferenceElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingOperation.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingOperation.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingOperation.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/BindingOperation.java Wed Feb 7 19:14:28 2007
@@ -19,17 +19,46 @@
import org.apache.woden.wsdl20.xml.BindingOperationElement;
/**
- * This interface represents the BindingOperation component from the WSDL 2.0 Component model.
+ * Represents the BindingOperation component from the WSDL 2.0 Component model.
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface BindingOperation extends NestedComponent
{
+ /**
+ * Returns an InterfaceOperation representing the {interface operation} property
+ * of the BindingOperation component. That is, the interface operation that this
+ * binding operation provides concrete bindings for.
+ *
+ * @return InterfaceOperation bound by this BindingOperation
+ */
public InterfaceOperation getInterfaceOperation();
+ /**
+ * Represents the {binding message references} property of the BindingOperation component.
+ * This is the set of binding message references declared by this binding operation.
+ * This method will return an empty array if there are no binding message references for
+ * this binding operation.
+ *
+ * @return an array of BindingMessageReference
+ */
public BindingMessageReference[] getBindingMessageReferences();
+ /**
+ * Represents the {binding fault references} property of the BindingOperation component.
+ * This is the set of binding fault references declared by this binding operation.
+ * This method will return an empty array if there are no binding fault references for
+ * this binding operation.
+ *
+ * @return an array of BindingFaultReference
+ */
public BindingFaultReference[] getBindingFaultReferences();
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ *
+ * @return the BindingOperationElement that maps to this BindingOperation
+ */
public BindingOperationElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Description.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Description.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Description.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Description.java Wed Feb 7 19:14:28 2007
@@ -22,76 +22,132 @@
/**
- * This interface represents the Description component from the WSDL Component
- * Model, as described in the WSDL 2.0 specification. It provides an abstract
+ * Represents the Description component from the WSDL 2.0 Component model,
+ * as described in the W3C WSDL 2.0 specification. It provides an abstract
* view of a WSDL document by flattening the composite document structure created
- * by the use of <wsdl:import> or <wsdl:include> into a single top-level
- * WSDL Description containing all of the inlined, imported or included WSDL content.
- * In doing so, it elimates the need to 'walk' the XML tree to access the WSDL content.
- * This also means that a Description component may not correspond 1-to-1
- * to a lt;wsdl:description> element in XML (i.e. it may contain WSDL content
- * from composite WSDL documents, each with its own <wsdl:description> root
- * element).
+ * by the use of <wsdl:import> or <wsdl:include> elements into a single
+ * WSDL Description component containing the WSDL components declared within
+ * the root <description> and within any imported or included descriptions.
+ * <p>
+ * In other words, if a WSDL component model is derived from composite WSDL document
+ * made up of WSDL imports or includes, then its Description component acts as a
+ * container for all of the top-level WSDL components in the WSDL tree, starting with the
+ * root <description> element. These top-level WSDL components include Interface,
+ * Binding, Service, ElementDeclaration and TypeDefinition.
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface Description extends WSDLComponent
{
/**
* Represents the {interfaces} property of the Description component. This is the set of
- * all interfaces available to the description, including those that are directly declared
- * and any that are imported or included.
+ * all interfaces available to the Description, including those that are declared in the
+ * root WSDL document and any declared in included or imported WSDL documents.
*
* @return an array of Interface objects
*/
public Interface[] getInterfaces();
+ /**
+ * Returns an Interface with the specified name from the {interfaces} property of this
+ * Description.
+ *
+ * @param name the QName of the required Interface
+ * @return an Interface with the specified name
+ */
public Interface getInterface(QName name);
/**
* Represents the {bindings} property of the Description component. This is the set of
- * all bindings available to the description, including those that are directly declared
- * and any that are imported or included.
+ * all bindings available to the Description, including those that are declared in the
+ * root WSDL document and any declared in included or imported WSDL documents.
*
* @return an array of Binding objects
*/
public Binding[] getBindings();
+ /**
+ * Returns a Binding with the specified name from the {bindings} property of this
+ * Description.
+ *
+ * @param name the QName of the required Binding
+ * @return a Binding with the specified name
+ */
public Binding getBinding(QName name);
/**
* Represents the {services} property of the Description component. This is the set of
- * all services available to the description, including those that are directly declared
- * and any that are imported or included.
+ * all services available to the Description, including those that are declared in the
+ * root WSDL document and any declared in included or imported WSDL documents.
*
* @return an array of Service objects
*/
public Service[] getServices();
+ /**
+ * Returns a Service with the specified name from the {services} property of this
+ * Description.
+ *
+ * @param name the QName of the required Service
+ * @return a Service with the specified name
+ */
public Service getService(QName name);
/**
* Represents the {element declarations} property of the Description component. This is the set of
- * all global element declarations available to the description, including those that are directly
- * declared in this description's <types> element and any that are that are imported or included.
+ * all global element declarations available to the Description, including those that are declared
+ * by schemas inlined or imported by the root WSDL document and those declared by schemas inlined
+ * or imported by WSDL documents that the root WSDL document includes or imports, directly or
+ * indirectly.
*
* @return an array of ElementDeclaration objects
*/
public ElementDeclaration[] getElementDeclarations();
+ /**
+ * Returns the ElementDeclaration with the specified name from the set of ElementDeclarations
+ * represented by the {element declarations} property of this Description.
+ *
+ * @param name the QName of the required ElementDeclaration
+ * @return the named ElementDeclaration
+ */
public ElementDeclaration getElementDeclaration(QName name);
/**
* Represents the {type definitions} property of the Description component. This is the set of
- * all global type definitions available to the description, including those that are directly
- * declared in this description's <types> element and any that are that are imported or included.
+ * all global type definitions available to the Description, including those that are defined
+ * by schemas inlined or imported by the root WSDL document and those defined by schemas inlined
+ * or imported by WSDL documents that the root WSDL document includes or imports, directly or
+ * indirectly.
*
* @return an array of TypeDefinition objects
*/
public TypeDefinition[] getTypeDefinitions();
- public TypeDefinition getTypeDefinition(QName qname);
+ /**
+ * Returns the TypeDefinition with the specified name from the set of TypeDefinitions
+ * represented by the {type definitions} property of this Description.
+ *
+ * @param name the QName of the required TypeDefinition
+ * @return the named TypeDefinition
+ */
+ public TypeDefinition getTypeDefinition(QName name);
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ * <p>
+ * The Description component is unlike other WSDL components which map neatly to a single
+ * WSDL element. Description represents a 'flattened' view of the entire WSDL infoset tree,
+ * including the WSDL components from any imported or included WSDL documents, so it could
+ * contain the content of multiple <wsdl:description> elements.
+ * <p>
+ * If the Component model has been derived from such a composite WSDL infoset, the behaviour
+ * of this method is to return the DescriptionElement that represents the root
+ * <wsdl:description> element.
+ *
+ * @return the DescriptionElement that maps to this Description
+ */
public DescriptionElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/ElementDeclaration.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/ElementDeclaration.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/ElementDeclaration.java Wed Feb 7 19:14:28 2007
@@ -21,49 +21,54 @@
import javax.xml.namespace.QName;
/**
- * This interface represents the ElementDeclaration component described
- * in the WSDL 2.0 Component Model specification (within the Description
- * Component section). An ElementDeclaration refers to an element, such as
- * a global element declaration in the XML Schema type system
- * (<xs:element>), that describes the content of WSDL input, output
- * and fault messages. However, it does not impose XML Schema as the type system.
- * It returns a String representing the content model or type system
- * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
- * representing the content of the element declaration. This Object may
- * be cast to a type appropriate for the content model.
+ * Represents the ElementDeclaration component described in the WSDL 2.0 component
+ * model (within the Description Component section of the W3C WSDL 2.0 spec).
+ * It describes the content of WSDL input, output and fault messages.
+ * This component represents global element declarations such as top-level,
+ * named element declarations in W3C XML Schema (i.e. <xs:element>).
+ * <p>
+ * However, it does not mandate W3C XML Schema as the type system.
+ * It defines behaviour to query the type system and the underlying content
+ * model or API being used to represent the element declarations, and to
+ * return a java.lang.Object representing the actual element declaration object.
+ * Based on the type system and content model, the application must cast this
+ * Object to the appropriate type to manipulate its contents.
+ * <p>
+ * Note that while ElementDeclaration is described along with the Component model
+ * in the W3C WSDL 2.0 specification, it is not a WSDL component itself.
+ * It simply provides a way of representing components from the underlying type
+ * system within the WSDL Component model.
*
- * TODO consider whether this interface should extend WSDLComponent too
- * (i.e. it is described in the spec within the Description component section,
- * but it doesn't correspond directly to a WSDL element).
- *
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface ElementDeclaration {
/**
- * A constant representing the DOM API,
- * used to indicate the content model.
+ * A constant representing the DOM API. This may be used to indicate the
+ * content model of the underlying element declaration.
*/
public static final String API_W3C_DOM =
"org.w3c.dom";
/**
- * A constant representing the Apache Ws-Commons XmlSchema API,
- * used to indicate the content model.
+ * A constant representing the Apache WS-Commons XmlSchema API. This may be used to
+ * indicate the content model of the underlying element declaration.
*/
public static final String API_APACHE_WS_XS =
"org.apache.ws.commons.schema";
/**
- * @return the QName identifying this element declaration in the
- * underlying type system definition.
- *
+ * Representing the {name} property of the ElementDeclaration component, this
+ * method returns the qualified name of this ElementDeclaration.
+ *
+ * @return the QName that identifies this ElementDeclaration
*/
public QName getName();
/**
- * Indicates the underlying type system of this element declaration.
- * For example, "http://www.w3.org/2001/XMLSchema" indicates the W3 XML Schema
+ * Representing the {system} property of the ElementDeclaration component, this
+ * method indicates the type system from which this element declaration is derived.
+ * For example, "http://www.w3.org/2001/XMLSchema" indicates the W3C XML Schema
* type system.
*
* @return the URI identifying the type system
@@ -71,28 +76,30 @@
public URI getSystem();
/**
- * Indicates the type of model or API used to represent components from the
- * underlying type system identified by the getSystem() method.
+ * Indicates the type of object model or API which should be used to
+ * access the content of the underlying element declaration.
+ * This can be used to determine how to cast the Object returned by
+ * the <code>getContent()</code> method.
* <p>
* For example:
* <ul>
- * <li>"org.w3c.dom" indicates that the DOM API is used, so the element declaration
- * content will be represented by a org.w3c.dom.Element.
- * <li>"org.apache.ws.commons.schema" indicates that the XmlSchema API from the
- * Apache WebServices project is used, so an XmlSchemaElement will represent the
- * element declaration content.
+ * <li>The content model "org.w3c.dom" indicates that the DOM API should be used,
+ * so the type org.w3c.dom.Element will be used to represent the content of the
+ * element declaration.
+ * <li>The content model "org.apache.ws.commons.schema" indicates that the
+ * WS-Commons XmlSchema API from the Apache WebServices project is used,
+ * so an org.apache.ws.commons.schema.XmlSchemaElement will be used to represent the
+ * content of the element declaration.
* </ul>
*
- * @return a String identifying the content model or API used to represent this
- * element declaration
+ * @return a String identifying the element declaration's content model
*/
public String getContentModel();
/**
- * Returns the content of the element declaration in an object
- * specific to the underlying content model API. The caller may then
- * cast this Object to the appropriate type, based on the content model
- * API indicated by the getContent() method.
+ * Returns the underlying element declaration as a java.lang.Object, which should
+ * be cast to the appropriate type as indicated by the <code>getContentModel()</code>
+ * method.
*
* @return the Object representing the content of the element declaration
*/
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Endpoint.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Endpoint.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Endpoint.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Endpoint.java Wed Feb 7 19:14:28 2007
@@ -28,11 +28,35 @@
*/
public interface Endpoint extends NestedComponent
{
+ /**
+ * Returns the local name representing the {name} property of this Endpoint.
+ *
+ * @return NCName representing the name of this Endpoint
+ */
public NCName getName();
+ /**
+ * Represents the {binding} property of the Endpoint component. This is the Binding component
+ * that this Endpoint is associated with.
+ *
+ * @return Binding associated with this Endpoint
+ */
public Binding getBinding();
+ /**
+ * Returns a URI that represents the {address} property of this Endpoint.
+ * This is the network address at which the parent service can be found using the
+ * binding associated with this endpoint.
+ *
+ * @return the URI address of the Service via this Endpoint
+ */
public URI getAddress();
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ *
+ * @return the EndpointElement that maps to this Endpoint
+ */
public EndpointElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Interface.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Interface.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Interface.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Interface.java Wed Feb 7 19:14:28 2007
@@ -22,25 +22,45 @@
/**
* Represents the Interface component from the WSDL 2.0 Component model.
- * This component provides a read-only, abstract view of the WSDL
- * interface, including any interface information defined within
- * imported or included WSDL documents.
+ * Defines behaviour for accessing the WSDL components nested within
+ * the Interface component, including those inherited via Interface extension.
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface Interface extends WSDLComponent
{
-
+ /**
+ * Returns the qualified name representing the {name} property of this Interface.
+ *
+ * @return QName representing the name of this Interface
+ */
public QName getName();
- public Interface getExtendedInterface(QName qname);
-
+ /**
+ * Represents the {extended interfaces} property of the Interface component.
+ * This is the set of declared Interface components that this Interface directly
+ * extends, but does not include any Interfaces that those Interfaces extend.
+ * The method will return an empty array if there are no extended interfaces.
+ *
+ * @return an array of Interface components
+ */
public Interface[] getExtendedInterfaces();
/**
- * Returns the set of InterfaceFault components representing the {interface faults}
- * property of this Interface. That is, the InterfaceFaults declared by this Interface
- * but not those declared by any Interfaces it extends, directly or indirectly.
+ * Return the named Interface from the {extended interfaces} property of this Interface.
+ * That is, from the set of declared Interfaces that this Interface directly extends.
+ * If null is specified for the name, this method will return null.
+ *
+ * @param interfaceName the qualified name of the required Interface
+ * @return the named Interface
+ */
+ public Interface getExtendedInterface(QName interfaceName);
+
+ /**
+ * Represents the {interface faults} property of the Interface component. This is the set of
+ * interface faults declared directly by this interface, but not those defined by any
+ * interfaces that this interface extends.
+ * The method will return an empty array if there are no interface faults.
*
* @return array of InterfaceFault components
*/
@@ -48,8 +68,9 @@
/**
* Returns the InterfaceFault with the specified name from the {interface faults}
- * property of this Interface. That is, a named InterfaceFault declared by this Interface
- * only, which excludes any inherited directly or indirectly from extended Interfaces.
+ * property of this Interface. That is, from the set of InterfaceFaults declared
+ * directly by this Interface and excluding any inherited directly or indirectly
+ * from extended Interfaces.
* If the name parameter is null, this method will return null.
*
* @param faultName the qualified name of the InterfaceFault
@@ -59,8 +80,9 @@
/**
* Returns the set of all InterfaceFault components available to this Interface,
- * which includes those declared by this Interface and those declared by any Interfaces
+ * which includes those declared by this Interface and those defined by any Interfaces
* it extends, directly or indirectly.
+ * The method will return an empty array if there are no interface faults.
*
* @return array of InterfaceFault components
*/
@@ -69,7 +91,7 @@
/**
* Returns the InterfaceFault with the specified name from the set of all InterfaceFaults
* available to this Interface, which includes those declared by this Interface and those
- * declared by any Interfaces it extends, directly or indirectly.
+ * defined by any Interfaces it extends, directly or indirectly.
* If the name parameter is null, this method will return null.
*
* @param faultName the qualified name of the InterfaceFault
@@ -78,9 +100,10 @@
public InterfaceFault getFromAllInterfaceFaults(QName faultName);
/**
- * Returns the set of InterfaceOperation components representing the {interface operations}
- * property of this Interface. That is, the InterfaceOperations declared by this Interface
- * but not those declared by any Interfaces it extends, directly or indirectly.
+ * Represents the {interface operations} property of the Interface component. This is the set
+ * of interface operations declared directly by this interface, but not those defined by any
+ * interfaces that this interface extends.
+ * The method will return an empty array if there are no interface operations.
*
* @return array of InterfaceOperation components
*/
@@ -88,8 +111,9 @@
/**
* Returns the InterfaceOperation with the specified name from the {interface operations}
- * property of this Interface. That is, a named InterfaceOperation declared by this Interface
- * only, which excludes any inherited directly or indirectly from extended Interfaces.
+ * property of this Interface. That is, from the set of InterfaceOperations declared directly
+ * by this Interface and excluding any inherited directly or indirectly from extended
+ * Interfaces.
* If the name parameter is null, this method will return null.
*
* @param operName the qualified name of the required InterfaceOperation
@@ -98,9 +122,10 @@
public InterfaceOperation getInterfaceOperation(QName operName);
/**
- * Returns the set of all InterfaceOperation components referenceable by this Interface,
- * include those declared by this Interface and those declared by the Interfaces
+ * Returns the set of all InterfaceOperation components available to this Interface,
+ * which includes those declared by this Interface and those defined by the Interfaces
* it extends, directly or indirectly.
+ * The method will return an empty array if there are no interface operations.
*
* @return array of InterfaceOperation components
*/
@@ -109,7 +134,7 @@
/**
* Returns the InterfaceOperation with the specified name from the set of all InterfaceOperations
* available to this Interface, which includes those declared by this Interface and those
- * declared by any Interfaces it extends, directly or indirectly.
+ * defined by any Interfaces it extends, directly or indirectly.
* If the name parameter is null, this method will return null.
*
* @param operName the qualified name of the InterfaceOperation
@@ -117,6 +142,12 @@
*/
public InterfaceOperation getFromAllInterfaceOperations(QName operName);
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ *
+ * @return the InterfaceElement that maps to this Interface
+ */
public InterfaceElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceFault.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceFault.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceFault.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceFault.java Wed Feb 7 19:14:28 2007
@@ -22,14 +22,33 @@
/**
- * @author jkaputin@apache.org
+ * Represents the InterfaceFault component from the WSDL 2.0 Component model.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface InterfaceFault extends NestedComponent {
+ /**
+ * Returns the qualified name representing the {name} property of this InterfaceFault.
+ *
+ * @return QName representing the name of this InterfaceFault
+ */
public QName getName();
+ /**
+ * Returns the ElementDeclaration representing the {element declaration} property
+ * of this InterfaceFault. This describes the content or "payload" of the fault.
+ *
+ * @return the ElementDeclaration that describes the fault content.
+ */
public ElementDeclaration getElementDeclaration();
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ *
+ * @return the InterfaceFaultElement that maps to this InterfaceFault
+ */
public InterfaceFaultElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceFaultReference.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceFaultReference.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceFaultReference.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceFaultReference.java Wed Feb 7 19:14:28 2007
@@ -21,19 +21,46 @@
import org.apache.woden.wsdl20.xml.InterfaceFaultReferenceElement;
/**
- * This interface represents the InterfaceFaultReference component
- * of the WSDL 2.0 Component model.
+ * Represents the InterfaceFaultReference component from the WSDL 2.0 Component model.
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface InterfaceFaultReference extends NestedComponent {
+
+ /**
+ * Returns an InterfaceFault representing the {interface fault} property of this
+ * InterfaceFaultReference. It identifies the interface fault that is associated
+ * with the parent interface operation by this interface fault reference.
+ *
+ * @return an InterfaceFault associated by this InterfaceFaultReference
+ */
public InterfaceFault getInterfaceFault();
+ /**
+ * Returns an NCName representing the {message label} property of this InterfaceFaultReference.
+ * This associates the fault with a placeholder message in the message exchange pattern
+ * identified by the parent interface operation.
+ *
+ * @return an NCName representing the message label
+ */
public NCName getMessageLabel();
+ /**
+ * Returns an enumerated type, Direction, that represents the {direction} property
+ * of this InterfaceFaultReference. This indicates the direction in which this fault
+ * is used; 'in' or 'out'.
+ *
+ * @return the Direction of this fault
+ */
public Direction getDirection();
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ *
+ * @return the InterfaceFaultReferenceElement that maps to this InterfaceFaultReference
+ */
public InterfaceFaultReferenceElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java Wed Feb 7 19:14:28 2007
@@ -22,26 +22,55 @@
/**
- * @author jkaputin@apache.org
+ * Represents the InterfaceMessageReference component from the WSDL 2.0 Component model.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface InterfaceMessageReference extends NestedComponent {
+ /**
+ * Returns an NCName representing the {message label} property of this
+ * InterfaceMessageReference. This associates the message with a placeholder message
+ * in the message exchange pattern specified by the parent interface operation.
+ *
+ * @return an NCName representing the message label
+ */
public NCName getMessageLabel();
+ /**
+ * Returns an enumerated type, Direction, that indicates the direction of this message.
+ * Direction.IN corresponds to an input message.
+ * Direction.OUT corresponds to an output message.
+ *
+ * @return the Direction of this message
+ */
public Direction getDirection();
/**
- * Represents a token indicating the type of message content.
+ * Returns a String representing the {message content model} property of this
+ * InterfaceMessageReference. This specifies a token indicating the type of message content.
* '#any' means any single element, '#none' means no message content,
* '#other' means non-XML extension type system and '#element' means
* XML Schema global element definition.
*
- * @return string representing the type of message content
+ * @return String representing the type of message content
*/
public String getMessageContentModel();
+ /**
+ * Returns the ElementDeclaration representing the {element declaration} property
+ * of this InterfaceMessageReference. This describes the content or "payload" of the message.
+ *
+ * @return the ElementDeclaration that describes the message content.
+ */
public ElementDeclaration getElementDeclaration();
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ *
+ * @return the InterfaceMessageReferenceElement that maps to this InterfaceMessageReference
+ */
public InterfaceMessageReferenceElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceOperation.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceOperation.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceOperation.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/InterfaceOperation.java Wed Feb 7 19:14:28 2007
@@ -23,20 +23,63 @@
import org.apache.woden.wsdl20.xml.InterfaceOperationElement;
/**
- * @author jkaputin@apache.org
+ * Represents the InterfaceMessageReference component from the WSDL 2.0 Component model.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface InterfaceOperation extends NestedComponent {
+ /**
+ * Returns the qualified name representing the {name} property of this InterfaceOperation.
+ *
+ * @return QName representing the name of this InterfaceOperation
+ */
public QName getName();
+ /**
+ * Returns a URI representing the {message exchange pattern} property of this
+ * InterfaceOperation.
+ *
+ * @return URI of the message exchange pattern.
+ */
public URI getMessageExchangePattern();
+ /**
+ * Represents the {interface message references} property of the InterfaceOperation component.
+ * This is the set of interface message references declared by this interface operation.
+ * This method will return an empty array if there are no interface message references for
+ * this interface operation.
+ *
+ * @return an array of InterfaceMessageReference
+ */
public InterfaceMessageReference[] getInterfaceMessageReferences();
+ /**
+ * Represents the {interface fault references} property of the InterfaceOperation component.
+ * This is the set of interface fault references defined by this interface operation.
+ * This method will return an empty array if there are no interface fault references for
+ * this interface operation.
+ *
+ * @return an array of InterfaceFaultReference
+ */
public InterfaceFaultReference[] getInterfaceFaultReferences();
+ /**
+ * Represents the {style} property of the InterfaceOperation component.
+ * This is a set of URIs which specify the rules that constrain the content of
+ * input and output messages and faults of the interface operation.
+ * This method will return an empty array if there are no style URIs.
+ *
+ * @return an array of URI
+ */
public URI[] getStyle();
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ *
+ * @return the InterfaceOperationElement that maps to this InterfaceOperation
+ */
public InterfaceOperationElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/NestedComponent.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/NestedComponent.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/NestedComponent.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/NestedComponent.java Wed Feb 7 19:14:28 2007
@@ -17,17 +17,33 @@
package org.apache.woden.wsdl20;
/**
- * Components which are nested within a 'top-level' component will extend
- * this interface. These are the sub components of
- * Interface, Binding and Service.
+ * Represents a super-type of all WSDL Components which are 'nested' directly
+ * or indirectly within the 'top-level' WSDL components; Interface, Binding
+ * and Service.
+ * This interface defines behaviour for retrieving the parent WSDL component.
* <p>
- * The components which are not nested are Description, Interface,
- * Binding, Service, ElementDeclaration and TypeDefinition.
+ * The nested WSDL components are:
+ * <ul>
+ * <li>InterfaceFault</li>
+ * <li>InterfaceOperation</li>
+ * <li>InterfaceFaultReference</li>
+ * <li>InterfaceMessageReference</li>
+ * <li>BindingFault</li>
+ * <li>BindingOperation</li>
+ * <li>BindingFaultReference</li>
+ * <li>BindingMessageReference</li>
+ * <li>Endpoint</li>
+ * </ul>
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface NestedComponent extends WSDLComponent {
+ /**
+ * Returns a WSDLComponent representing the parent of this nested component.
+ *
+ * @return the parent WSDLComponent
+ */
public WSDLComponent getParent();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Service.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Service.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Service.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/Service.java Wed Feb 7 19:14:28 2007
@@ -22,17 +22,53 @@
import org.apache.woden.wsdl20.xml.ServiceElement;
/**
+ * Represents the Service component from the WSDL 2.0 Component model.
+ *
* @author John Kaputin (jkaputin@apache.org)
*/
public interface Service extends WSDLComponent
{
+ /**
+ * Returns the qualified name representing the {name} property of this Service.
+ *
+ * @return QName representing the name of this Service
+ */
public QName getName();
+ /**
+ * Represents the {interface} property of the Service component. This is the Interface component
+ * that this Service defines Endpoints for.
+ *
+ * @return Interface associated with this Service
+ */
public Interface getInterface();
- public Endpoint getEndpoint(NCName name);
-
+ /**
+ * Represents the {endpoints} property of the Service component. This is the set of
+ * Endpoints declared by this Service. The method will return an empty array if there
+ * are no endpoints.
+ *
+ * @return an array of Endpoint objects
+ */
public Endpoint[] getEndpoints();
+
+ /**
+ * Returns the Endpoint with the specified local name from the {endpoints}
+ * property of this Service. That is, from the set of Endpoints defined
+ * by this Service.
+ * If the name parameter is null, this method will return null.
+ *
+ * @param name the local name of the Endpoint
+ * @return the named Endpoint
+ */
+ public Endpoint getEndpoint(NCName name);
+
+ /**
+ * Returns a WSDLElement that represents the element information item from the WSDL 2.0
+ * infoset that maps to this WSDLComponent.
+ *
+ * @return the ServiceElement that maps to this Service
+ */
public ServiceElement toElement();
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/TypeDefinition.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/TypeDefinition.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/TypeDefinition.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/TypeDefinition.java Wed Feb 7 19:14:28 2007
@@ -21,49 +21,54 @@
import javax.xml.namespace.QName;
/**
- * This interface represents the TypeDefinition component described
- * in the WSDL 2.0 Component Model specification (within the Description
- * Component section). This component refers to simple or complex data types
- * defined in a type system such as XML Schema
- * (e.g. <xs:simpleType> or <xs:complexType>).
- * However, it does not impose XML Schema as the type system.
- * It returns a String representing the content model or type system
- * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
- * representing the content of the type definition. This Object may
- * be cast to a type appropriate for the content model.
+ * Represents the TypeDefinition component described in the WSDL 2.0 component model
+ * (within the Description Component section of the W3C WSDL 2.0 spec).
+ * This component represents global data type definitions such as top-level,
+ * named type definitions in W3C XML Schema (e.g. <xs:simpleType> or
+ * <xs:complexType>).
+ * <p>
+ * However, it does not mandate W3C XML Schema as the type system.
+ * It defines behaviour to query the type system and the underlying content
+ * model or API being used to represent the type definitions, and to
+ * return a java.lang.Object representing the actual type definition object.
+ * Based on the type system and content model, the application must cast this
+ * Object to the appropriate type to manipulate its contents.
+ * <p>
+ * Note that while TypeDefinition is described along with the Component model
+ * in the W3C WSDL 2.0 specification, it is not a WSDL component itself.
+ * It simply provides a way of representing components from the underlying type
+ * system within the WSDL Component model.
*
- * TODO consider whether this interface should extend WSDLComponent too
- * (i.e. it is described in the spec within the Description component section,
- * but it doesn't correspond directly to a WSDL element).
- *
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface TypeDefinition {
/**
- * A constant representing the DOM API,
- * used to indicate the content model.
+ * A constant representing the DOM API. This may be used to indicate the
+ * content model of the underlying type definition.
*/
public static final String API_W3C_DOM =
"org.w3c.dom";
/**
- * A constant representing the Apache Ws-Commons XmlSchema API,
- * used to indicate the content model.
+ * A constant representing the Apache WS-Commons XmlSchema API. This may be used to
+ * indicate the content model of the underlying type definition.
*/
public static final String API_APACHE_WS_XS =
"org.apache.ws.commons.schema";
/**
- * @return the QName identifying this type definition in the
- * underlying type system definition.
- *
+ * Representing the {name} property of the TypeDefinition component, this
+ * method returns the qualified name of this TypeDefinition.
+ *
+ * @return the QName that identifies this TypeDefinition
*/
public QName getName();
/**
- * Indicates the underlying type system of this type definition.
- * For example, "http://www.w3.org/2001/XMLSchema" indicates the W3 XML Schema
+ * Representing the {system} property of the TypeDefinition component, this
+ * method indicates the type system from which this type definition is derived.
+ * For example, "http://www.w3.org/2001/XMLSchema" indicates the W3C XML Schema
* type system.
*
* @return the URI identifying the type system
@@ -71,28 +76,30 @@
public URI getSystem();
/**
- * Indicates the type of model or API used to represent components from the
- * underlying type system identified by the getSystem() method.
+ * Indicates the type of object model or API which should be used to
+ * access the content of the underlying type definition.
+ * This can be used to determine how to cast the Object returned by
+ * the <code>getContent()</code> method.
* <p>
* For example:
* <ul>
- * <li>"org.w3c.dom" indicates that the DOM API is used, so the type definition
- * content will be represented by a org.w3c.dom.Element.
- * <li>"org.apache.ws.commons.schema" indicates that the XmlSchema API from the
- * Apache WebServices project is used, so an XmlSchemaType will represent the
- * type definition content.
+ * <li>The content model "org.w3c.dom" indicates that the DOM API should be used,
+ * so the type org.w3c.dom.Element will be used to represent the content of the
+ * type definition.
+ * <li>The content model "org.apache.ws.commons.schema" indicates that the
+ * WS-Commons XmlSchema API from the Apache WebServices project is used,
+ * so an org.apache.ws.commons.schema.XmlSchemaType will be used to represent the
+ * content of the type definition.
* </ul>
*
- * @return a String identifying the content model or API used to represent this
- * type definition
+ * @return a String identifying the type definition's content model
*/
public String getContentModel();
/**
- * Returns the content of the type definition in an object
- * specific to the underlying content model API. The caller may then
- * cast this Object to the appropriate type, based on the content model
- * API indicated by the getContent() method.
+ * Returns the underlying type definition as a java.lang.Object, which should
+ * be cast to the appropriate type as indicated by the <code>getContentModel()</code>
+ * method.
*
* @return the Object representing the content of the type definition
*/
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/WSDLComponent.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/WSDLComponent.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/WSDLComponent.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/WSDLComponent.java Wed Feb 7 19:14:28 2007
@@ -21,8 +21,11 @@
import org.apache.woden.wsdl20.extensions.ComponentExtensions;
/**
- * All components directly or indirectly extend this interface, so it provides
- * a common term of reference for all components.
+ * Represents the top-level super-type of all WSDL 2.0 Components.
+ * Every WSDL 2.0 Component interface must extend this interface, directly or indirectly.
+ * It provides a common way to refer to any type of WSDL Component.
+ * It defines behaviour common to all WSDL components, such as testing for
+ * equivalence and accessing extension properties.
*
* @author John Kaputin (jkaputin@apache.org)
*/
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/xml/BindingElement.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/xml/BindingElement.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/xml/BindingElement.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/xml/BindingElement.java Wed Feb 7 19:14:28 2007
@@ -23,9 +23,9 @@
import org.apache.woden.types.NCName;
/**
- * This interface represents a WSDL <binding> element.
+ * Represents the WSDL 2.0 <binding> element.
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface BindingElement extends DocumentableElement,
NestedElement
@@ -35,53 +35,107 @@
*/
/**
- * Set the NCName that represents the <tt>name</tt> attribute of the
- * <binding> element.
+ * Set the name of this BindingElement to the specified NCName.
+ * This corresponds to the <code>name</code> attribute of the <binding> element.
*
- * @param name the NCName that identifies the binding.
+ * @param name the NCName that represents this binding.
*/
public void setName(NCName name);
+
+ /**
+ * Return the qualified name of this BindingElement, which consists of its
+ * local name and the targetNamespace of the parent DescriptionElement.
+ *
+ * @return the binding QName
+ */
public QName getName();
/**
- * Set the QName that represents the <tt>interface</tt> attribute of the
- * <binding> element. This associates the binding with an interface.
+ * Specify the name of the InterfaceElement referred to by this BindingElement.
+ * This corresponds to the <code>interface</code> attribute of the <binding> element.
+ *
+ * @param interfaceName the QName of the interface
+ */
+ public void setInterfaceName(QName interfaceName);
+
+ /**
+ * Return the name of the InterfaceElement referred to by this BindingElement.
+ * This corresponds to the <code>interface</code> attribute of the <binding> element.
*
- * @param qname the QName that identifies interface for this binding
+ * @return the interface QName
*/
- public void setInterfaceName(QName qname);
public QName getInterfaceName();
/**
- * Get the InterfaceElement identified by the QName specified in the
- * <tt>interface</tt> attribute of this <binding> element.
+ * Return the InterfaceElement referred to by this BindingElement.
+ * This equates to the <interface> element referred to by the <code>interface</code>
+ * attribute of the <binding> element.
+ * If this reference cannot be resolved to an InterfaceElement or if this BindingElement
+ * is a generic (interface-less) binding, this method will return null.
*
- * @return InterfaceElement the interface associated with this binding
+ * @return the InterfaceElement
*/
public InterfaceElement getInterfaceElement();
/**
- * Set the URI that represents the <tt>type</tt> attribute of the
- * <binding> element. This indicates the type of concrete binding
- * extensions contained within this binding.
+ * Set the binding type to the specified URI.
+ * This identifies the type of WSDL extensions used with this binding.
+ * This corresponds to the <code>type</code> attribute of the <binding> element.
*
- * @param type the URI indicating the concrete binding
+ * @param type the URI indicating the binding type
*/
public void setType(URI type);
+
+ /**
+ * Return the URI that identifies the binding type.
+ * This corresponds to the <code>type</code> attribute of the <binding> element.
+ *
+ * @return the binding type URI
+ */
public URI getType();
/*
* Elements
*/
+ /**
+ * Create a BindingFaultElement with this BindingElement as its parent and
+ * return a reference to it.
+ * This equates to adding a <fault> element to the <binding> element.
+ *
+ * @return the BindingFaultElement
+ */
public BindingFaultElement addBindingFaultElement();
+
+ /**
+ * Return the set of BindingFaultElements within this BindingElement.
+ * This equates to the set of <fault> elements within the <binding> element.
+ * If no BindingFaultElements exist, an empty array is returned.
+ *
+ * @return an array of BindingFaultElement
+ */
public BindingFaultElement[] getBindingFaultElements();
- //TODO remove method
+ //TODO removeBindingFaultElement method
+
+ /**
+ * Create a BindingOperationElement with this BindingElement as its parent and
+ * return a reference to it.
+ * This equates to adding an <operation> element to the <binding> element.
+ *
+ * @return the BindingOperationElement
+ */
public BindingOperationElement addBindingOperationElement();
+
+ /**
+ * Return the set of BindingOperationElements within this BindingElement
+ * This equates to the set of <operation> elements within the <binding> element.
+ * If no BindingOperationElements exist, an empty array is returned.
+ *
+ * @return an array of BindingOperationElement
+ */
public BindingOperationElement[] getBindingOperationElements();
- //TODO remove method
- //TODO extension elements
-
+ //TODO removeBindingOperationElement method
+
}
Modified: incubator/woden/trunk/java/src/org/apache/woden/wsdl20/xml/BindingFaultElement.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/wsdl20/xml/BindingFaultElement.java?view=diff&rev=504775&r1=504774&r2=504775
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/wsdl20/xml/BindingFaultElement.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/wsdl20/xml/BindingFaultElement.java Wed Feb 7 19:14:28 2007
@@ -19,27 +19,39 @@
import javax.xml.namespace.QName;
/**
- * This interface represents the <fault> child element of a <binding> element.
+ * Represents the WSDL 2.0 <fault> element, declared as a child
+ * of the <binding> element.
*
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
*/
public interface BindingFaultElement extends DocumentableElement,
NestedElement
{
/**
- * Set the 'ref' attribute to the specified QName, which identifies the
- * interface fault referenced by this binding fault.
+ * Specify the name of the InterfaceFaultElement referred to by this BindingFaultElement.
+ * The specified QName corresponds to the <code>ref</code> attribute of the binding
+ * <fault> element.
*
- * @param qname identifies the associated interface fault.
+ * @param faultName the QName of the interface fault
+ */
+ public void setRef(QName faultName);
+
+ /**
+ * Return the name of the InterfaceFaultElement referred to by this BindingFaultElement.
+ * This corresponds to the <code>ref</code> attribute of the binding <fault> element.
+ *
+ * @return the QName of the interface fault
*/
- public void setRef(QName qname);
public QName getRef();
/**
- * Get the InterfaceFaultElement identified by the QName specified in the
- * <tt>ref</tt> attribute of this binding <fault> element.
+ * Return the InterfaceFaultElement referred to by this BindingFaultElement.
+ * This equates to the interface <fault> element referred to by the
+ * <code>ref</code> attribute of the binding <fault> element.
+ * If this reference cannot be resolved to an InterfaceFaultElement, this method will
+ * return null.
*
- * @return the InterfaceFaultElement associated with this binding fault
+ * @return the InterfaceFaultElement
*/
public InterfaceFaultElement getInterfaceFaultElement();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org