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 &lt;wsdl:description&gt; 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, &lt;xs:import&gt;. It extends the Schema
+ * This interface represents a schema import element, &lt;xs:import&gt;. 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, &lt;xs:schema&gt;. It extends the Schema
+ * This interface represents an inlined schema element, &lt;xs:schema&gt;. 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 &lt;types&gt; element. For example, via &lt;xs:schema&gt; or 
+ * within the &lt;wsdl:types&gt; element. For example, via &lt;xs:schema&gt; or 
  * &lt;xs:import&gt;.
- * 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 &lt;xs:schema&gt; or &lt;xs:import&gt; 
+ * 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 
+     * &lt;xs:schema&gt; element or the <code>namespace</code> attribute of a 
+     * &lt;xs:import&gt; element.
+     * 
+     * @return a URI representing the schema's namespace
      */
     public URI getNamespace();
+    
+    /**
+     * Set the <code>targetNamespace</code> attribute of a &lt;xs:schema&gt; element
+     * or the <code>namespace</code> attribute of a &lt;xs:import&gt; 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 &lt;xs:schema&gt; element or imported by a &lt;xs:import&gt; 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 &lt;wsdl:import&gt; or &lt;wsdl:include&gt; 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&gt; element in XML (i.e. it may contain WSDL content 
- * from composite WSDL documents, each with its own &lt;wsdl:description&gt; root
- * element). 
+ * by the use of &lt;wsdl:import&gt; or &lt;wsdl:include&gt; elements into a single
+ * WSDL Description component containing the WSDL components declared within 
+ * the root &lt;description&gt; 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 &lt;description&gt; 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 &lt;types&gt; 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 &lt;types&gt; 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 &lt;wsdl:description&gt; 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 
+     * &lt;wsdl:description&gt; 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 
- * (&lt;xs:element&gt;), 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. &lt;xs:element&gt;).
+ * <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. &lt;xs:simpleType&gt; or &lt;xs:complexType&gt;).
- * 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. &lt;xs:simpleType&gt; or 
+ * &lt;xs:complexType&gt;).
+ * <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 &lt;binding&gt; element. 
+ * Represents the WSDL 2.0 &lt;binding&gt; 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  
-     * &lt;binding&gt; element. 
+     * Set the name of this BindingElement to the specified NCName. 
+     * This corresponds to the <code>name</code> attribute of the &lt;binding&gt; 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 
-     * &lt;binding&gt; 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 &lt;binding&gt; 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 &lt;binding&gt; 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 &lt;binding&gt; element.
+     * Return the InterfaceElement referred to by this BindingElement. 
+     * This equates to the &lt;interface&gt; element referred to by the <code>interface</code> 
+     * attribute of the &lt;binding&gt; 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 
-     * &lt;binding&gt; 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 &lt;binding&gt; 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 &lt;binding&gt; 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 &lt;fault&gt; element to the &lt;binding&gt; element.
+     * 
+     * @return the BindingFaultElement
+     */
     public BindingFaultElement addBindingFaultElement();
+    
+    /**
+     * Return the set of BindingFaultElements within this BindingElement.
+     * This equates to the set of &lt;fault&gt; elements within the &lt;binding&gt; 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 &lt;operation&gt; element to the &lt;binding&gt; element.
+     * 
+     * @return the BindingOperationElement
+     */
     public BindingOperationElement addBindingOperationElement();
+    
+    /**
+     * Return the set of BindingOperationElements within this BindingElement
+     * This equates to the set of &lt;operation&gt; elements within the &lt;binding&gt; 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 &lt;fault&gt; child element of a &lt;binding&gt; element. 
+ * Represents the WSDL 2.0 &lt;fault&gt; element, declared as a child
+ * of the &lt;binding&gt; 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 
+     * &lt;fault&gt; 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 &lt;fault&gt; 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 &lt;fault&gt; element.
+     * Return the InterfaceFaultElement referred to by this BindingFaultElement.
+     * This equates to the interface &lt;fault&gt; element referred to by the
+     * <code>ref</code> attribute of the binding &lt;fault&gt; 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