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 sa...@apache.org on 2009/09/01 07:54:21 UTC

svn commit: r809835 [7/11] - in /webservices/woden/trunk/java/woden-api: ./ src/ src/main/ src/main/java/ src/main/java/javax/ src/main/java/javax/xml/ src/main/java/javax/xml/namespace/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/ap...

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingMessageReferenceElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingMessageReferenceElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingMessageReferenceElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingMessageReferenceElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,83 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.enumeration.Direction;
+
+/**
+ * Represents the WSDL 2.0 <input> and <output> elements, 
+ * declared as child elements of the binding <operation> element. 
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface BindingMessageReferenceElement extends DocumentableElement,
+                                                        NestedElement
+{
+    /**
+     * Set the message direction using the specified enumerated type, Direction,
+     * which indicates the direction of the message.
+     * Direction.IN corresponds to the binding operation <input> element.
+     * Direction.OUT corresponds to the binding operation <output> element.
+     * 
+     * @param dir the Direction of the message
+     */
+    public void setDirection(Direction dir);
+    
+    /**
+     * Returns an enumerated type, Direction, that indicates the direction of this message.
+     * Direction.IN corresponds to the binding operation <input> element.
+     * Direction.OUT corresponds to the binding operation <output> element.
+     * 
+     * @return the Direction of the message
+     */
+    public Direction getDirection();
+    
+    /**
+     * Set the message label to the specified NCName. 
+     * This corresponds to the <code>messageLabel</code> attribute of the binding operation 
+     * &lt;input&gt; and &lt;output&gt; elements. 
+     * It represents a placeholder message in the message exchange pattern specified by the 
+     * parent binding &lt;operation&gt; element.
+     * 
+     * @param msgLabel the NCName representing the message label
+     */
+    public void setMessageLabel(NCName msgLabel);
+    
+    /**
+     * Return the NCName representing the message label. 
+     * This corresponds to the <code>messageLabel</code> attribute of the binding operation 
+     * &lt;input&gt; and &lt;output&gt; elements. 
+     * It represents a placeholder message in the message exchange pattern specified by the 
+     * parent binding &lt;operation&gt; element.
+     * 
+     * @return NCName the message label
+     */
+    public NCName getMessageLabel();
+    
+    /**
+     * Return the InterfaceMessageReferenceElement associated with this BindingMessageReferenceElement.
+     * This equates to an &lt;input&gt; or &lt;output&gt; element of the interface operation being
+     * bound whose message label is equal to the effective message label of this binding message
+     * reference.
+     * If such an element does not exist, this method will return null.
+     * 
+     * @return the InterfaceMessageReferenceElement
+     */
+    public InterfaceMessageReferenceElement getInterfaceMessageReferenceElement();
+    
+  }

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingOperationElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingOperationElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingOperationElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingOperationElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,130 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import javax.xml.namespace.QName;
+
+/**
+ * Represents the WSDL 2.0 &lt;operation&gt; element, declared as a child 
+ * of the &lt;binding&gt; element. 
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface BindingOperationElement extends DocumentableElement,
+                                                 NestedElement 
+{
+    /*
+     * Attributes
+     */
+    
+    /**
+     * Specify the name of the InterfaceOperationElement referred to by this BindingOperationElement.
+     * The specified QName corresponds to the <code>ref</code> attribute of the binding 
+     * &lt;operation&gt; element.
+     *
+     * @param operName the QName of the interface operation.
+     */
+    public void setRef(QName operName);
+    
+    /**
+     * Return the name of the InterfaceOperationElement referred to by this BindingOperationElement.
+     * This corresponds to the <code>ref</code> attribute of the binding &lt;operation&gt; element.
+     * 
+     * @return the QName of the interface operation
+     */
+    public QName getRef();
+
+    /**
+     * Return the InterfaceOperationElement referred to by this BindingOperationElement.
+     * This equates to the interface &lt;operation&gt; element referred to by the 
+     * <code>ref</code> attribute of the binding &lt;operation&gt; element.
+     * If this reference cannot be resolved to an InterfaceOperationElement, this method will
+     * return null.
+     * 
+     * @return the InterfaceOperationElement
+     */
+    public InterfaceOperationElement getInterfaceOperationElement();
+    
+    /*
+     * Elements
+     */
+    
+    /**
+     * Create a BindingMessageReferenceElement with this BindingOperationElement as its parent
+     * and return a reference to it.
+     * This equates to adding an &lt;input&gt; or &lt;output&gt; element
+     * to the binding &lt;operation&gt; element.
+     * 
+     * @return the BindingMessageReferenceElement
+     */
+    public BindingMessageReferenceElement addBindingMessageReferenceElement();
+    
+    /**
+     * Remove the specified BindingMessageReferenceElement from the set of 
+     * BindingMessageReferenceElements within this BindingOperationElement.
+     * This equates to removing an &lt;input&gt; or &lt;output&gt; element
+     * from the binding &lt;operation&gt; element.
+     * If the specified BindingMessageReferenceElement does not exist or if a 
+     * null value is specified, no action is performed.
+     * 
+     * @param msgRef the BindingMessageReferenceElement to be removed
+     */
+    public void removeBindingMessageReferenceElement(BindingMessageReferenceElement msgRef);
+    
+    /**
+     * Return the set of BindingMessageReferenceElements within this BindingOperationElement.
+     * This equates to the set of &lt;input&gt; and &lt;output&gt; elements
+     * within the binding &lt;operation&gt; element.
+     * If no BindingMessageReferenceElements exist, an empty array is returned. 
+     * 
+     * @return an array of BindingMessageReferenceElement
+     */
+    public BindingMessageReferenceElement[] getBindingMessageReferenceElements();
+
+    /**
+     * Create a BindingFaultReferenceElement with this BindingOperationElement as its parent
+     * and return a reference to it.
+     * This equates to adding an &lt;infault&gt; or &lt;outfault&gt; element
+     * to the binding &lt;operation&gt; element.
+     * 
+     * @return the BindingFaultReferenceElement
+     */
+    public BindingFaultReferenceElement addBindingFaultReferenceElement();
+    
+    /**
+     * Remove the specified BindingFaultReferenceElement from the set of 
+     * BindingFaultReferenceElements within this BindingOperationElement.
+     * This equates to removing an &lt;infault&gt; or &lt;outfault&gt; element
+     * from the binding &lt;operation&gt; element.
+     * If the specified BindingFaultReferenceElement does not exist or if a 
+     * null value is specified, no action is performed.
+     * 
+     * @param faultRef the BindingFaultReferenceElement to be removed
+     */
+    public void removeBindingFaultReferenceElement(BindingFaultReferenceElement faultRef);
+    
+    /**
+     * Return the set of BindingFaultReferenceElements within this BindingOperationElement.
+     * This equates to the set of &lt;infault&gt; and &lt;outfault&gt; elements
+     * within the binding &lt;operation&gt; element.
+     * If no BindingFaultReferenceElements exist, an empty array is returned. 
+     * 
+     * @return an array of BindingFaultReferenceElement
+     */
+    public BindingFaultReferenceElement[] getBindingFaultReferenceElements();
+    
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DescriptionElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DescriptionElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DescriptionElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DescriptionElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,222 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import java.net.URI;
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.wsdl20.Description;
+
+/**
+ * Represents the WSDL 2.0 &lt;description&gt; element. 
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface DescriptionElement extends DocumentableElement 
+{
+
+    /**
+     * Set the document base URI to the specified URI. 
+     * This is the base URI used to locate the &lt;description&gt; element that this 
+     * DescriptionElement corresponds to.
+     * This is used to resolve relative paths specified within this WSDL description that
+     * refer to other WSDL or Schema documents. For example, via &lt;xs:import&gt;, &lt;wsdl:import&gt; 
+     * or &lt;wsdl:include&gt; elements.
+     * 
+     * @param documentBaseURI the base URI of the WSDL
+     */
+    public void setDocumentBaseURI(URI documentBaseURI);
+    
+    /**
+     * Return the document base URI that was used to locate the &lt;description&gt; element that 
+     * this DescriptionElement corresponds to. This is used to resolve relative paths within this
+     * WSDL description that refer to other WSDL or Schema documents.
+     * 
+     * @return the document base URI
+     */
+    public URI getDocumentBaseURI();
+    
+    /*
+     * Attributes and namespaces
+     */
+    
+    /**
+     * Set the target namespace to the specified URI. 
+     * This corresponds to the <code>targetNamespace</code> attribute of the &lt;description&gt;
+     * element.
+     * 
+     * @param namespaceURI the target namespace URI
+     */
+    public void setTargetNamespace(URI namespaceURI);
+    
+    /**
+     * Return the target namespace URI.
+     * This corresponds to the <code>targetNamespace</code> attribute of the &lt;description&gt;
+     * element.
+     * 
+     * @return the target namespace URI.
+     */
+    public URI getTargetNamespace();
+
+    /*
+     * Element factory methods
+     */
+    
+    /**
+     * Create an ImportElement with this DescriptionElement as its parent and
+     * return a reference to it.
+     * This equates to adding an &lt;import&gt; element to the &lt;description&gt; element.
+     * 
+     * @return the ImportElement
+     */
+    public ImportElement addImportElement();
+    
+    /**
+     * Create an IncludeElement with this DescriptionElement as its parent and
+     * return a reference to it.
+     * This equates to adding an &lt;include&gt; element to the &lt;description&gt; element.
+     * 
+     * @return the IncludeElement
+     */
+    public IncludeElement addIncludeElement();
+
+    /**
+     * Create an InterfaceElement with this DescriptionElement as its parent and
+     * return a reference to it.
+     * This equates to adding an &lt;interface&gt; element to the &lt;description&gt; element.
+     * 
+     * @return the InterfaceElement
+     */
+    public InterfaceElement addInterfaceElement();
+
+    /**
+     * Create a BindingElement with this DescriptionElement as its parent and
+     * return a reference to it.
+     * This equates to adding an &lt;binding&gt; element to the &lt;description&gt; element.
+     * 
+     * @return the BindingElement
+     */
+    public BindingElement addBindingElement();
+
+    /**
+     * Create a ServiceElement with this DescriptionElement as its parent and
+     * return a reference to it.
+     * This equates to adding an &lt;service&gt; element to the &lt;description&gt; element.
+     * 
+     * @return the ServiceElement
+     */
+    public ServiceElement addServiceElement();
+    
+    /*
+     * Element accessor and modifier methods
+     * 
+     * TODO removeXXX(obj), getXXX(key) methods
+     * 
+     */
+    
+    /**
+     * Return the set of ImportElements within this DescriptionElement.
+     * This equates to the set of &lt;import&gt; elements within the &lt;description&gt; element.
+     * If no ImportElements exist, an empty array is returned.
+     * 
+     * @return an array of ImportElement
+     */
+    public ImportElement[] getImportElements();
+    
+    /**
+     * Return the set of IncludeElements within this DescriptionElement.
+     * This equates to the set of &lt;include&gt; elements within the &lt;description&gt; element.
+     * If no IncludeElements exist, an empty array is returned.
+     * 
+     * @return an array of IncludeElement
+     */
+    public IncludeElement[] getIncludeElements();
+    
+    /**
+     * Return the TypesElement within this DescriptionElement.
+     * This corresponds to the &lt;types&gt; element within the &lt;description&gt; element.
+     * If no TypesElement exists, this method will return null.
+     * 
+     * @return the TypesElement
+     */
+    public TypesElement getTypesElement();
+    
+    /**
+     * Create a TypesElement with this DescriptionElement as its parent and
+     * return a reference to it.
+     * If a TypesElement already exists for this DescriptionElement a WSDLException will be thrown.
+     * 
+     * @return the TypesElement
+     */
+    public TypesElement addTypesElement() throws WSDLException;
+ 
+    
+    /**
+     * Return the set of InterfaceElements within this DescriptionElement.
+     * This equates to the set of &lt;interface&gt; elements within the &lt;description&gt; element.
+     * If no InterfaceElements exist, an empty array is returned.
+     * 
+     * @return an array of InterfaceElement
+     */
+    public InterfaceElement[] getInterfaceElements();
+    
+    /**
+     * Return the set of BindingElements within this DescriptionElement.
+     * This equates to the set of &lt;binding&gt; elements within the &lt;description&gt; element.
+     * If no BindingElements exist, an empty array is returned.
+     * 
+     * @return an array of BindingElement
+     */
+    public BindingElement[] getBindingElements();
+    
+    /**
+     * Return the set of ServiceElements within this DescriptionElement.
+     * This equates to the set of &lt;service&gt; elements within the &lt;description&gt; element.
+     * If no ServiceElements exist, an empty array is returned.
+     * 
+     * @return an array of ServiceElement
+     */
+    public ServiceElement[] getServiceElements();
+
+    /**
+     * Return the Description component derived from this DescriptionElement.
+     * <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;description&gt; elements.
+     * <p>
+     * If this DescriptionElement imports or includes other DescriptionElements (that is,
+     * if it is the root of a composite WSDL document), the behaviour of this method is equivalent 
+     * to traversing the WSDL tree recursively and aggregating the WSDL content of each 
+     * DescriptionElement into a single Description component.
+     * <p>
+     * This equates to retrieving the root &lt;description&gt; element and traversing any
+     * &lt;wsdl:import&gt; or &lt;wsdl:include&gt; elements to retrieve WSDL content of
+     * any nested &lt;description&gt; elements. 
+     * <p>
+     * The <code>toComponent()</code> method is only defined for DescriptionElement, not for 
+     * other WSDL Element interfaces. This is because the WSDL 2.0 Component model is a nested
+     * hierarchy with a single Description component at the top. To access WSDL components,
+     * we must start at the Description and traverse the component model from there.
+
+     * @return the Description component derived from this DescriptionElement
+     */
+    public Description toComponent();
+    
+    
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DocumentableElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DocumentableElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DocumentableElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DocumentableElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,53 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+/**
+ * Represents WSDL 2.0 elements that can have &lt;documentation&gt; child elements.
+ * That is, all WSDL 2.0 elements except the &lt;documentation&gt; element itself.
+ * The Java interfaces that correspond to these WSDL elements will extend this 
+ * interface to inherit the behaviour for getting, adding and removing 
+ * DocumentationElements. 
+ * <p>
+ * TODO a removeDocmentationElement method
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface DocumentableElement extends WSDLElement 
+{
+    /**
+     * Create a DocumentationElement with this WSDLElement as its parent and
+     * return a reference to it.
+     * This equates to adding a &lt;documentation&gt; element to any of the other
+     * WSDL elements (except the &lt;documentation&gt; element itself).
+     * 
+     * @return the DocumentationElement
+     */
+    public DocumentationElement addDocumentationElement();
+    
+    /**
+     * Return the set of DocumentationElements defined directly within this WSDLElement. 
+     * This equates to the set of &lt;documentation&gt; elements declared within a WSDL 
+     * element.
+     * If no DocumentationElements exist, an empty array is returned.
+     * 
+     * @return array of DocumentationElement
+     */
+    public DocumentationElement[] getDocumentationElements();
+    
+    //TODO a removeDocmentationElement method
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DocumentationElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DocumentationElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DocumentationElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DocumentationElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,47 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+/**
+ * Represents the WSDL 2.0 &lt;documentation&gt; element.
+ * <p>
+ * The &lt;documentation&gt; element may contain mixed content, but this 
+ * interface does not define methods that interpret that content. Instead it just wraps
+ * the &lt;documentation&gt; element as a java.lang.Object.
+ * <p>
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+
+import org.apache.woden.XMLElement;
+
+public interface DocumentationElement extends NestedElement {
+    
+    /**
+     * Sets the documentationElement XMLElement for this DocumentationElement.
+     * 
+     * @param documentationElement A XMLElement representing the DocumentationElement xml element.
+     */
+    public void setContent(XMLElement documentationElement);
+    
+    /**
+     * Returns a XMLElement representing the DocumentationElement xml element.
+     * 
+     * @return XMLElement the xml representation of the DocumentationElement.
+     */
+    public XMLElement getContent();
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/EndpointElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/EndpointElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/EndpointElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/EndpointElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,93 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import java.net.URI;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.types.NCName;
+
+/**
+ * Represents the WSDL 2.0 &lt;endpoint&gt; element, 
+ * declared as a child of the &lt;service&gt; element.
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface EndpointElement extends DocumentableElement,
+                                         NestedElement 
+{
+    /**
+     * Set the name of this EndpointElement to the specified NCName.
+     * This corresponds to the <code>name</code> attribute of the &lt;endpoint&gt; element.
+     * 
+     * @param name the NCName that represents the local name of this endpoint
+     */
+    public void setName(NCName name);
+    
+    /**
+     * Return the qualified name of this EndpointElement, which consists of its
+     * local name and the targetNamespace of the enclosing DescriptionElement.
+     * 
+     * @return the endpoint QName
+     */
+    public NCName getName();
+    
+    /**
+     * Specify the name of the BindingElement referred to by this EndpointElement.
+     * The specified QName corresponds to the <code>binding</code> attribute of the 
+     * &lt;endpoint&gt; element.
+     *
+     * @param bindingName the QName of the binding
+     */
+    public void setBindingName(QName bindingName);
+    
+    /**
+     * Return the name of the BindingElement referred to by this EndpointElement.
+     * This corresponds to the <code>binding</code> attribute of the 
+     * &lt;endpoint&gt; element.
+     *
+     * @return the QName of the binding
+     */
+    public QName getBindingName();
+    
+    /**
+     * Return the BindingElement referred to by this EndpointElement. 
+     * This equates to the &lt;binding&gt; element referred to by the <code>binding</code> 
+     * attribute of the &lt;endpoint&gt; element.
+     * If this reference cannot be resolved to a BindingElement, this method will return null.
+     * 
+     * @return the BindingElement
+     */
+    public BindingElement getBindingElement();
+    
+    /**
+     * Set the endpoint address of this EndpointElement to the specified URI.
+     * This corresponds to the <code>address</code> attribute of the &lt;endpoint&gt; element.
+     * 
+     * @param address the endpoint address URI
+     */
+    public void setAddress(URI address);
+    
+    /**
+     * Return the URI representing the endpoint address of this EndpointElement.
+     * This corresponds to the <code>address</code> attribute of the &lt;endpoint&gt; element.
+     * 
+     * @return the endpoint address URI
+     */
+    public URI getAddress();
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/ImportElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/ImportElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/ImportElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/ImportElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import java.net.URI;
+
+/**
+ * Represents the WSDL 2.0 &lt;import&gt; element.
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface ImportElement extends DocumentableElement, NestedElement 
+{
+    public void setNamespace(URI nsURI);
+    public URI getNamespace();
+    
+    public void setLocation(URI locURI);
+    public URI getLocation();
+    
+    public void setDescriptionElement(DescriptionElement desc);
+    public DescriptionElement getDescriptionElement();
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/IncludeElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/IncludeElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/IncludeElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/IncludeElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,33 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import java.net.URI;
+
+/**
+ * Represents the WSDL 2.0 &lt;include&gt; element.
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface IncludeElement extends DocumentableElement, NestedElement 
+{
+    public void setLocation(URI locURI);
+    public URI getLocation();
+    
+    public void setDescriptionElement(DescriptionElement desc);
+    public DescriptionElement getDescriptionElement();
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,205 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import java.net.URI;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.types.NCName;
+
+/**
+ * Represents the WSDL 2.0 &lt;interface&gt; element.
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface InterfaceElement extends DocumentableElement, 
+                                          NestedElement
+{
+    /*
+     * Attributes
+     */
+
+    /**
+     * Set the name of this InterfaceElement to the specified NCName.
+     * This corresponds to the <code>name</code> attribute of the &lt;interface&gt; element.
+     * 
+     * @param name the NCName that represents the local name of this interface
+     */
+    public void setName(NCName name);
+    
+    /**
+     * Return the qualified name of this InterfaceElement, which consists of its
+     * local name and the targetNamespace of the parent DescriptionElement.
+     * 
+     * @return the interface QName
+     */
+    public QName getName();
+    
+    /**
+     * Add the named InterfaceElement to the set of InterfaceElements that this InterfaceElement
+     * extends. This equates to adding a QName to the <code>extends</code> attribute
+     * of the &lt;interface&gt; element.
+     * If a null interface name is specified, no action is performed. 
+     * 
+     * @param interfaceName the QName of an extended interface
+     */
+    public void addExtendedInterfaceName(QName interfaceName);
+    
+    /**
+     * Remove the named InterfaceElement from the set of InterfaceElements that this 
+     * InterfaceElement extends. This equates to removing a QName from the <code>extends</code>
+     * attribute of the &lt;interface&gt; element.
+     * If the named InterfaceElement is not extended by this InterfaceElement or if a null 
+     * interface name is specified, no action is performed. 
+     * 
+     * @param interfaceName the QName of an extended interface
+     */
+    public void removeExtendedInterfaceName(QName interfaceName);
+    
+    /**
+     * Return the qualified names of the InterfaceElements that this InterfaceElement extends.
+     * This equates to the set of QNames defined in the <code>extends</code> attribute
+     * of the &lt;interface&gt; element.
+     * If no extended interfaces exist, an empty array is returned.
+     * 
+     * @return an array of QName
+     */
+    public QName[] getExtendedInterfaceNames();
+    
+    /**
+     * Return the named InterfaceElement from the set of IntefaceElements extended by this
+     * InterfaceElement. The specified QName should equate to a QName defined in the 
+     * <code>extends</code> attribute of the &lt;interface&gt; element. 
+     * If the named InterfaceElement is not extended by this InterfaceElement or if a null 
+     * interface name is specified, this method will return null. 
+     * 
+     * @param interfaceName the QName of an extended interface
+     * @return the named InterfaceElement
+     */
+    public InterfaceElement getExtendedInterfaceElement(QName interfaceName);
+    
+    /**
+     * Return the set of InterfaceElements extended by this InterfaceElement.
+     * This equates to the set of QNames defined in the <code>extends</code> attribute
+     * of the &lt;interface&gt; element.
+     * If no extended interfaces exist, an empty array is returned.
+     * 
+     * @return an array of InterfaceElement
+     */
+    public InterfaceElement[] getExtendedInterfaceElements();
+    
+    /**
+     * Add the specified URI to the set of default operation style URIs. 
+     * This equates to adding a URI to the <code>styleDefault</code> attribute 
+     * of the &lt;interface&gt; element.
+     * If a null style URI is specified, no action is performed. 
+     * 
+     * @param style a URI representing an operation style
+     */
+    public void addStyleDefaultURI(URI style);
+    
+    //TODO public void removeStyleDefaultURI(URI uri);
+
+    /**
+     * Return the set of URIs representing the default operation style. 
+     * This equates to the URIs defined in the <code>styleDefault</code> attribute 
+     * of the &lt;interface&gt; element.
+     * If no style default URIs exist, an empty array is returned.
+     * 
+     * @return an array of URI representing the default operation style
+     */
+    public URI[] getStyleDefault();
+    
+    //TODO add a remove method
+    
+    /*
+     * Elements
+     */
+    
+    /**
+     * Create an InterfaceFaultElement with this InterfaceElement as its parent and
+     * return a reference to it.
+     * This equates to adding a &lt;fault&gt; element to the &lt;interface&gt; element.
+     * 
+     * @return the InterfaceFaultElement
+     */
+    public InterfaceFaultElement addInterfaceFaultElement();
+    
+    //TODO public void removeInterfaceFaultElement(QName faultName);
+    
+    /**
+     * Return the named InterfaceFaultElement from the set of InterfaceFaultElements defined 
+     * directly within this InterfaceElement. This equates to a named &lt;fault&gt; element
+     * declared within the &lt;interface&gt; element. 
+     * This set does not include faults derived from extended interfaces.
+     * If the named InterfaceFaultElement does not exist or if a null value is specified,
+     * this method will return null.
+     * 
+     * @param faultName the QName of the required InterfaceFaultElement
+     * @return the named InterfaceFaultElement
+     */
+    public InterfaceFaultElement getInterfaceFaultElement(QName faultName);
+    
+    /**
+     * Return the set of InterfaceFaultElements defined directly within this InterfaceElement. 
+     * This equates to the set of &lt;fault&gt; elements declared within this &lt;interface&gt; 
+     * element.
+     * This set does not include faults derived from extended interfaces.
+     * If no InterfaceFaultElements exist, an empty array is returned.
+     * 
+     * @return array of InterfaceFaultElement
+     */
+    public InterfaceFaultElement[] getInterfaceFaultElements();
+    
+    /**
+     * Create an InterfaceOperationElement with this InterfaceElement as its parent and
+     * return a reference to it.
+     * This equates to adding an &lt;operation&gt; element to the &lt;interface&gt; element.
+     * If no InterfaceOperationElements exist, an empty array is returned.
+     * 
+     * @return the InterfaceOperationElement
+     */
+    public InterfaceOperationElement addInterfaceOperationElement();
+    
+    //TODO public void removeInterfaceOperationElement(QName operName);
+    
+    /**
+     * Return the named InterfaceOperationElement from the set of InterfaceOperationElements defined 
+     * directly within this InterfaceElement. This equates to a named &lt;operation&gt; element
+     * declared within the &lt;interface&gt; element. 
+     * This set does not include operations derived from extended interfaces.
+     * If the named InterfaceOperationElement does not exist or if a null value is specified,
+     * this method will return null.
+     * 
+     * @param operName the QName of the required InterfaceOperationElement
+     * @return the named InterfaceOperationElement
+     */
+    public InterfaceOperationElement getInterfaceOperationElement(QName operName);
+    
+    /**
+     * Return the set of InterfaceOperationElements defined directly within this InterfaceElement. 
+     * This equates to the set of &lt;operation&gt; elements declared within this &lt;interface&gt; 
+     * element.
+     * This set does not include operations derived from extended interfaces.
+     * If no InterfaceOperationElements exist, an empty array is returned.
+     * 
+     * @return array of InterfaceOperationElement
+     */
+    public InterfaceOperationElement[] getInterfaceOperationElements();
+    
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceFaultElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceFaultElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceFaultElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceFaultElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,84 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.types.NCName;
+import org.apache.woden.types.QNameTokenUnion;
+import org.apache.ws.commons.schema.XmlSchemaElement;
+
+/**
+ * Represents the WSDL 2.0 &lt;fault&gt; element, declared as a child of the 
+ * &lt;interface&gt; element.
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface InterfaceFaultElement extends DocumentableElement, 
+                                               NestedElement
+{
+    /**
+     * Set the name of this InterfaceFaultElement to the specified NCName.
+     * This corresponds to the <code>name</code> attribute of the interface &lt;fault&gt; element.
+     * 
+     * @param name the NCName that represents the local name of this interface fault
+     */
+    public void setName(NCName name);
+    
+    /**
+     * Return the qualified name of this InterfaceFaultElement, which consists of its
+     * local name and the targetNamespace of the enclosing DescriptionElement.
+     * 
+     * @return the interface fault QName
+     */
+    public QName getName();
+    
+    /**
+     * Specify the union of the xs:token and xs:QName of the global schema element declaration referred to by this 
+     * InterfaceFaultElement.
+     * The specified QName corresponds to the <code>element</code> attribute of the interface 
+     * &lt;fault&gt; element.
+     *
+     * @param elementName the QNameTokenUnion of the element declaration
+     */
+    public void setElement(QNameTokenUnion elementName);
+    
+    /**
+     * Return the union of the xs:token and xs:QName of the global schema element declaration referred to by this 
+     * InterfaceFaultElement.
+     * This corresponds to the <code>element</code> attribute of the interface 
+     * &lt;fault&gt; element.
+     * 
+     * @return the QNameTokenUnion of the element declaration
+     */
+    public QNameTokenUnion getElement();
+    
+    /**
+     * Return the XmlSchemaElement representing the global schema element declaration
+     * referred to by this InterfaceFaultElement.
+     * This equates to the &lt;xs:element&gt; element referred to by the <code>element</code> 
+     * attribute of the interface &lt;fault&gt; element.
+     * If this reference cannot be resolved to an element declaration in a schema that 
+     * is visible to the enclosing &lt;description&gt;, this method will return null. 
+     * To be visible, the schema must have been correctly imported or inlined within 
+     * the &lt;types&gt; element.
+     * 
+     * @return the XmlSchemaElement
+     */
+    public XmlSchemaElement getXmlSchemaElement();
+
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,105 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.enumeration.Direction;
+
+/**
+ * Represents the WSDL 2.0 &lt;infault&gt; and &lt;outfault&gt; elements,
+ * declared as child elements of the interface &lt;operation&gt; element. 
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface InterfaceFaultReferenceElement extends DocumentableElement,
+                                                        NestedElement 
+{
+    /**
+     * Specify the name of the InterfaceFaultElement referred to by this 
+     * InterfaceFaultReferenceElement.
+     * The specified QName corresponds to the <code>ref</code> attribute of the interface operation
+     * &lt;infault&gt; or &lt;outfault&gt; element.
+     *
+     * @param faultName the QName of the interface fault
+     */
+    public void setRef(QName faultName);
+    
+    /**
+     * Return the name of the InterfaceFaultElement referred to by this 
+     * InterfaceFaultReferenceElement.
+     * This corresponds to the <code>ref</code> attribute of the interface operation 
+     * &lt;infault&gt; or &lt;outfault&gt; element.
+     * 
+     * @return the QName of the interface fault
+     */
+    public QName getRef();
+    
+    /**
+     * Return the InterfaceFaultElement referred to by this InterfaceFaultReferenceElement.
+     * This equates to the interface &lt;fault&gt; element referred to by the <code>ref</code>
+     * attribute of the interface operation &lt;infault&gt; or &lt;outfault&gt; element.
+     * If this reference cannot be resolved to an InterfaceFaultElement, this method will
+     * return null.
+     * 
+     * @return the InterfaceFaultElement
+     */
+    public InterfaceFaultElement getInterfaceFaultElement();
+    
+    /**
+     * Set the message label to the specified NCName. 
+     * This corresponds to the <code>messageLabel</code> attribute of the interface operation 
+     * &lt;infault&gt; and &lt;outfault&gt; elements. 
+     * It represents a placeholder message in the message exchange pattern specified by the 
+     * parent interface &lt;operation&gt; element.
+     * 
+     * @param msgLabel the NCName representing the message label
+     */
+    public void setMessageLabel(NCName msgLabel);
+    
+    /**
+     * Return the NCName representing the message label. 
+     * This corresponds to the <code>messageLabel</code> attribute of the interface operation 
+     * &lt;infault&gt; and &lt;outfault&gt; elements. 
+     * It represents a placeholder message in the message exchange pattern specified by the 
+     * parent interface &lt;operation&gt; element.
+     * 
+     * @return NCName the message label
+     */
+    public NCName getMessageLabel();
+    
+    /**
+     * Set the message direction using the specified enumerated type, Direction,
+     * which indicates the direction of the fault.
+     * Direction.IN corresponds to the interface operation &lt;infault&gt; element.
+     * Direction.OUT corresponds to the interface operation &lt;outfault&gt; element.
+     * 
+     * @param dir the Direction of the fault
+     */
+    public void setDirection(Direction dir);
+    
+    /**
+     * Returns an enumerated type, Direction, that indicates the direction of this fault.
+     * Direction.IN corresponds to the interface operation &lt;infault&gt; element.
+     * Direction.OUT corresponds to the interface operation &lt;outfault&gt; element.
+     * 
+     * @return the Direction of the fault
+     */
+    public Direction getDirection();
+    
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceMessageReferenceElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceMessageReferenceElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceMessageReferenceElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceMessageReferenceElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,110 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.types.NCName;
+import org.apache.woden.types.QNameTokenUnion;
+import org.apache.woden.wsdl20.enumeration.Direction;
+import org.apache.ws.commons.schema.XmlSchemaElement;
+
+/**
+ * Represents the WSDL 2.0 &lt;input&gt; and &lt;output&gt; elements, 
+ * declared as child elements of interface &lt;operation&gt; element. 
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface InterfaceMessageReferenceElement extends DocumentableElement,
+                                                          NestedElement
+{
+    /**
+     * Set the message label to the specified NCName. 
+     * This corresponds to the <code>messageLabel</code> attribute of the interface operation 
+     * &lt;input&gt; and &lt;output&gt; elements. 
+     * It represents a placeholder message in the message exchange pattern specified by the 
+     * parent interface &lt;operation&gt; element.
+     * 
+     * @param msgLabel the NCName representing the message label
+     */
+    public void setMessageLabel(NCName msgLabel);
+    
+    /**
+     * Return the NCName representing the message label. 
+     * This corresponds to the <code>messageLabel</code> attribute of the interface operation 
+     * &lt;input&gt; and &lt;output&gt; elements. 
+     * It represents a placeholder message in the message exchange pattern specified by the 
+     * parent interface &lt;operation&gt; element.
+     * 
+     * @return NCName the message label
+     */
+    public NCName getMessageLabel();
+    
+    /**
+     * Specify the union of the xs:token and xs:QName of the global schema element declaration referred to by this 
+     * InterfaceMessageReferenceElement.
+     * The specified QNameTokenEnum corresponds to the <code>element</code> attribute of the interface 
+     * operation &lt;input&gt; or &lt;output&gt; element.
+     *
+     * @param element the QNameTokenEnum of the element declaration.
+     */
+    public void setElement(QNameTokenUnion element);
+    
+    /**
+     * Return the union of the xs:token and xs:QName of the global schema element declaration referred to by this 
+     * InterfaceMessageReferenceElement.
+     * This corresponds to the <code>element</code> attribute of the interface 
+     * operation &lt;input&gt; or &lt;output&gt; element.
+     * 
+     * @return the QNameTokenEnum of the element declaration
+     */
+    public QNameTokenUnion getElement();
+    
+    /**
+     * Return the XmlSchemaElement representing the global schema element declaration
+     * referred to by this InterfaceMessageReferenceElement.
+     * This equates to the &lt;xs:element&gt; element referred to by the <code>element</code> 
+     * attribute of the interface operation &lt;input&gt; or &lt;output&gt; element.
+     * If this reference cannot be resolved to an element declaration in a schema that 
+     * is visible to the enclosing &lt;description&gt;, this method will return null. 
+     * To be visible, the schema must have been correctly imported or inlined within 
+     * the &lt;types&gt; element.
+     * 
+     * @return the XmlSchemaElement
+     */
+    public XmlSchemaElement getXmlSchemaElement();
+    
+    /**
+     * Set the message direction using the specified enumerated type, Direction,
+     * which indicates the direction of the message.
+     * Direction.IN corresponds to the interface operation &lt;input&gt; element.
+     * Direction.OUT corresponds to the interface operation &lt;output&gt; element.
+     * 
+     * @param dir the Direction of the message
+     */
+    public void setDirection(Direction dir);
+    
+    /**
+     * Returns an enumerated type, Direction, that indicates the direction of this message.
+     * Direction.IN corresponds to the interface operation &lt;input&gt; element.
+     * Direction.OUT corresponds to the interface operation &lt;output&gt; element.
+     * 
+     * @return the Direction of the message
+     */
+    public Direction getDirection();
+
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceOperationElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceOperationElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceOperationElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceOperationElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,172 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import java.net.URI;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.types.NCName;
+
+/**
+ * Represents the WSDL 2.0 &lt;operation&gt; element, declared as a child  
+ * of the &lt;interface&gt; element. 
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface InterfaceOperationElement extends DocumentableElement,
+                                                   NestedElement
+{
+    /*
+     * Attributes
+     */
+    
+    /**
+     * Set the name of this InterfaceOperationElement to the specified NCName.
+     * This corresponds to the <code>name</code> attribute of the interface &lt;operation&gt; element.
+     * 
+     * @param name the NCName that represents the local name of this interface operation
+     */
+    public void setName(NCName name);
+    
+    /**
+     * Return the qualified name of this InterfaceOperationElement, which consists of its
+     * local name and the targetNamespace of the enclosing DescriptionElement.
+     * 
+     * @return the interface operation QName
+     */
+    public QName getName();
+    
+    /**
+     * Set the message exchange pattern used by this InterfaceOperationElement to the specified
+     * URI.
+     * This corresponds to the <code>pattern</code> attribute of the interface &lt;operation&gt; 
+     * element.
+     * 
+     * @param mep the message exchange pattern URI
+     */
+    public void setPattern(URI mep);
+    
+    /**
+     * Return the URI representing the message exchange pattern used by this InterfaceOperationElement.
+     * This corresponds to the <code>name</code> attribute of the interface &lt;operation&gt; element.
+     * 
+     * @return the URI representing the message exchange pattern
+     */
+    public URI getPattern();
+    
+    /**
+     * Add the specified URI to the set of style URIs used by this InterfaceOperationElement. 
+     * This equates to adding a URI to the <code>style</code> attribute of the interface 
+     * &lt;operation&gt; element.
+     * If a null style URI is specified, no action is performed. 
+     * 
+     * @param style a URI representing an operation style
+     */
+    public void addStyleURI(URI style);
+    
+    
+    /**
+     * Remove the specified URI from the set of style URIs used by this InterfaceOperationElement. 
+     * This equates to removing a URI from the <code>style</code> attribute of the interface 
+     * &lt;operation&gt; element.
+     * If the specified URI is not present in the set of style URIs or if a null URI is specified,
+     * no action is performed.
+     * 
+     * @param style a URI representing an operation style
+     */
+    public void removeStyleURI(URI style);
+    
+    /**
+     * Return the set of URIs representing the operation style. 
+     * This corresponds to the URIs defined in the <code>style</code> attribute of the interface 
+     * &lt;operation&gt; element.
+     * If no style URIs exist, an empty array is returned.
+     * 
+     * @return an array of URI representing the operation style
+     */
+    public URI[] getStyle();
+    
+    /*
+     * Elements
+     */
+    
+    /**
+     * Create an InterfaceMessageReferenceElement with this InterfaceOperationElement as its parent
+     * and return a reference to it.
+     * This equates to adding an &lt;input&gt; or &lt;output&gt; element to the interface 
+     * &lt;operation&gt; element.
+     * 
+     * @return the InterfaceMessageReferenceElement
+     */
+    public InterfaceMessageReferenceElement addInterfaceMessageReferenceElement();
+    
+    /**
+     * Remove the specified InterfaceMessageReferenceElement from the set of 
+     * InterfaceMessageReferenceElements within this InterfaceOperationElement.
+     * This equates to removing an &lt;input&gt; or &lt;output&gt; element
+     * from the interface &lt;operation&gt; element.
+     * If the specified InterfaceMessageReferenceElement does not exist or if a 
+     * null value is specified, no action is performed.
+     * 
+     * @param msgRef the InterfaceMessageReferenceElement to be removed
+     */
+    public void removeInterfaceMessageReferenceElement(InterfaceMessageReferenceElement msgRef);
+    
+    /**
+     * Return the set of InterfaceMessageReferenceElements within this InterfaceOperationElement.
+     * This equates to the set of &lt;input&gt; and &lt;output&gt; elements
+     * within the interface &lt;operation&gt; element.
+     * If no InterfaceMessageReferenceElements exist, an empty array is returned. 
+     * 
+     * @return an array of InterfaceMessageReferenceElement
+     */
+    public InterfaceMessageReferenceElement[] getInterfaceMessageReferenceElements();
+
+    /**
+     * Create an InterfaceFaultReferenceElement with this InterfaceOperationElement as its parent
+     * and return a reference to it.
+     * This equates to adding an &lt;infault&gt; or &lt;outfault&gt; element to the interface 
+     * &lt;operation&gt; element.
+     * 
+     * @return the InterfaceFaultReferenceElement
+     */
+    public InterfaceFaultReferenceElement addInterfaceFaultReferenceElement();
+    
+    /**
+     * Remove the specified InterfaceFaultReferenceElement from the set of 
+     * InterfaceFaultReferenceElements within this InterfaceOperationElement.
+     * This equates to removing an &lt;infault&gt; or &lt;outfault&gt; element
+     * from the interface &lt;operation&gt; element.
+     * If the specified InterfaceFaultReferenceElement does not exist or if a 
+     * null value is specified, no action is performed.
+     * 
+     * @param faultRef the InterfaceFaultReferenceElement to be removed
+     */
+    public void removeInterfaceFaultReferenceElement(InterfaceFaultReferenceElement faultRef);
+    
+    /**
+     * Return the set of InterfaceFaultReferenceElement within this InterfaceOperationElement.
+     * This equates to the set of &lt;infault&gt; and &lt;outfault&gt; elements
+     * within the interface &lt;operation&gt; element.
+     * If no InterfaceFaultReferenceElements exist, an empty array is returned. 
+     * 
+     * @return an array of InterfaceFaultReferenceElement
+     */
+    public InterfaceFaultReferenceElement[] getInterfaceFaultReferenceElements();
+
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/NestedElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/NestedElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/NestedElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/NestedElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+/**
+ * Represents the WSDL 2.0 elements that are nested within the &lt;description&gt;
+ * element. That is, all WSDL 2.0 elements except &lt;description&gt; itself.
+ * The Java interfaces that represent these WSDL elements will extend this 
+ * interface to inherit behaviour for specifying and accessing their parent
+ * WSDLElement.
+ * <p>
+ * TODO make DocumentationElement, ImportElement and IncludeElement subtypes of NestedElement 
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface NestedElement extends WSDLElement {
+    
+    public WSDLElement getParentElement();
+
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/ServiceElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/ServiceElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/ServiceElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/ServiceElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,92 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.types.NCName;
+
+/**
+ * Represents the WSDL 2.0 &lt;service&gt; element. 
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface ServiceElement extends DocumentableElement,
+                                        NestedElement
+{
+    /**
+     * Set the name of this ServiceElement to the specified NCName.
+     * This corresponds to the <code>name</code> attribute of the &lt;service&gt; element.
+     * 
+     * @param name the NCName that represents the local name of this service
+     */
+    public void setName(NCName name);
+    
+    /**
+     * Return the qualified name of this ServiceElement, which consists of its
+     * local name and the targetNamespace of the enclosing DescriptionElement.
+     * 
+     * @return the service QName
+     */
+    public QName getName();
+    
+    /**
+     * Specify the name of the InterfaceElement referred to by this ServiceElement.
+     * The specified QName corresponds to the <code>interface</code> attribute of the 
+     * &lt;service&gt; element.
+     *
+     * @param interfaceName the QName of the interface
+     */
+    public void setInterfaceName(QName interfaceName);
+    
+    /**
+     * Return the name of the InterfaceElement referred to by this ServiceElement.
+     * This corresponds to the <code>interface</code> attribute of the 
+     * &lt;service&gt; element.
+     *
+     * @return the QName of the interface
+     */
+    public QName getInterfaceName();
+    
+    /**
+     * Return the InterfaceElement referred to by this ServiceElement. 
+     * This equates to the &lt;interface&gt; element referred to by the <code>interface</code> 
+     * attribute of the &lt;service&gt; element.
+     * If this reference cannot be resolved to an InterfaceElement, this method will return null.
+     * 
+     * @return the InterfaceElement
+     */
+    public InterfaceElement getInterfaceElement();
+    
+    /**
+     * Create an EndpointElement with this ServiceElement as its parent and
+     * return a reference to it.
+     * This equates to adding an &lt;endpoint&gt; element to the &lt;service&gt; element.
+     * 
+     * @return the EndpointElement
+     */
+    public EndpointElement addEndpointElement();
+    
+    /**
+     * Return the set of EndpointElements within this ServiceElement.
+     * This equates to the set of &lt;endpoint&gt; elements within the &lt;service&gt; element.
+     * If no EndpointElements exist, an empty array is returned.
+     * 
+     * @return an array of EndpointElement
+     */
+    public EndpointElement[] getEndpointElements();
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/TypesElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/TypesElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/TypesElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/TypesElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,92 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import java.net.URI;
+
+import org.apache.woden.schema.ImportedSchema;
+import org.apache.woden.schema.InlinedSchema;
+import org.apache.woden.schema.Schema;
+
+/**
+ * Represents the WSDL 2.0 &lt;types&gt; element. 
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface TypesElement extends DocumentableElement, NestedElement
+{
+    
+    /**
+     * Indicates the type system used within the &lt;types&gt; element. 
+     * Typically the W3C XML Schema type system will be used, indicated by 
+     * the namespace "http://www.w3.org/2001/XMLSchema". An alternative
+     * schema-like type system is Relax NG (http://www.relaxng.org/).
+     */
+    public void setTypeSystem(String typeSystem);
+    
+    /**
+     * Get the string indicating the type system used within the &lt;types&gt;
+     * element.
+     */
+    public String getTypeSystem();
+    
+    /**
+     * Add a Schema object for a schema inlined or imported within the &lt;types&gt; element.
+     * 
+     * @param schema the Schema object.
+     */
+    public void addSchema(Schema schema);
+    
+    /**
+     * Delete the specified Schema object.
+     */
+    public void removeSchema(Schema schema);
+    
+    /**
+     * Return the schemas inlined or imported directly within this &lt;types&gt; element.
+     * 
+     * @return an array of Schema objects
+     */
+    public Schema[] getSchemas();
+    
+    /**
+     * Return the schemas inlined or imported directly within this &lt;types&gt; element
+     * whose target namespace matches the specified namespace. 
+     * <p>
+     * A null namespace argument will return schemas that have no target namespace.
+     * 
+     * @return an array of Schema objects with the specified target namespace.
+     */
+    public Schema[] getSchemas(URI namespace);
+    
+    /**
+     * Return the schemas inlined directly within this &lt;types&gt; element
+     * in the order in which they occur.
+     * 
+     * @return an array of Schema objects.
+     */
+    public InlinedSchema[] getInlinedSchemas();
+    
+    /**
+     * Return the schemas imported directly by this &lt;types&gt; element 
+     * in the order in which they occur.
+     * 
+     * @return an array of Schema objects.
+     */
+    public ImportedSchema[] getImportedSchemas();
+        
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/WSDLElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/WSDLElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/WSDLElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/WSDLElement.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,107 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.wsdl20.xml;
+
+import java.net.URI;
+import org.apache.woden.types.NamespaceDeclaration;
+import org.apache.woden.wsdl20.extensions.AttributeExtensible;
+import org.apache.woden.wsdl20.extensions.ElementExtensible;
+
+/**
+ * Represents all WSDL 2.0 elements. The Java interfaces representing the WSDL 2.0 
+ * elements will directly or indirectly extend this interface.
+ * 
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface WSDLElement extends AttributeExtensible, ElementExtensible
+{
+    /*
+     * All elements in the WSDL 2.0 namespace support attribute extensibility and
+     * element extensibility, so by inheriting directly or indirectly from this 
+     * interface they also inherit the extensibility interfaces.
+     */
+    
+    /**
+     * Associate the specified prefix with the specified namespace URI to this WSDL element.
+     * This equates to adding an <code>xmlns</code> namespace declaration to this 
+     * WSDL element. 
+     * To define the default namespace, specify null or the empty string "" for the prefix.
+     * If null is specified for the namespace URI, the prefix/namespace association will be
+     * removed (i.e. the same behaviour as the <code>removeNamespace</code> method).
+     * If the specified prefix is already associated with a namespace URI, 
+     * that association will be replaced by the specified prefix/namespace association. 
+     *
+     * @param prefix the prefix String associated with <code>namespaceURI</code>
+     * @param namespaceURI the namespace URI associated with <code>prefix</code>
+     */
+    public void addNamespace(String prefix, URI namespaceURI);
+    
+    /**
+     * Remove the namespace URI associated with the specified prefix from this WSDL element.
+     * This equates to removing an <code>xmlns</code> namespace declaration from this
+     * WSDL element.
+     * To remove the default namespace, specify null or the empty string "" for the prefix.
+     * 
+     * @param prefix the prefix String associated with the namespace to be removed
+     * @return the removed namespace URI or null if no prefix/namespace association exists
+     */
+    public URI removeNamespace(String prefix);
+    
+    
+    /**
+     * Return the namespace URI associated with the specified prefix, or null if there is no
+     * such namespace declaration.
+     * The scope of the search corresponds to the scope of namespace declarations 
+     * in XML. That is, from the current element upwards to the root element
+     * (to the wsdl:description).
+     * To request the default namespace, specify null or the empty string "" for the prefix.
+     *  
+     * @param prefix the prefix whose associated namespace URI is required
+     * @return the associated namespace URI
+     */
+    public URI getNamespaceURI(String prefix);
+    
+    /**
+     * Return the prefix associated with the specified namespace URI.
+     * The scope of the search corresponds to the scope of namespace declarations
+     * in XML. That is, from the current element upwards to the root element
+     * (to the wsdl:description).
+     * 
+     * @param namespaceURI the namespace URI whose associated prefix is required
+     * @return the associated prefix String
+     */
+    public String getNamespacePrefix(URI namespaceURI);
+    
+    /**
+     * Return the namespaces and their associated prefixes declared directly
+     * within this WSDL element.
+     * 
+     * @return an array of NamespaceDeclaration
+     */
+    public NamespaceDeclaration[] getDeclaredNamespaces();
+    
+    /**
+     * Return all namespaces and their associated prefixes that are in-scope
+     * to this WSDL element. That is, those declared directly within this element
+     * and those declared in ancestor elements upwards to the root element
+     * (to the wsdl:description).
+     * 
+     * @return an array of NamespaceDeclaration
+     */
+    public NamespaceDeclaration[] getInScopeNamespaces();
+    
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/ArgumentArrayAttr.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/ArgumentArrayAttr.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/ArgumentArrayAttr.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/ArgumentArrayAttr.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,35 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+
+
+package org.apache.woden.xml;
+
+import org.apache.woden.wsdl20.extensions.rpc.Argument;
+
+/**
+ * This interface represents an XML attribute information items whose type
+ * is a list of pairs (xs:QName, xs:token) that obey the contraints of
+ * wrpc:signature as defined in Part 2 of the WSDL 2.0 spec.
+ * 
+ * @author Arthur Ryman (ryman@ca.ibm.com, arthur.ryman@gmail.com)
+ *
+ */
+public interface ArgumentArrayAttr extends XMLAttr {
+	
+	public Argument[] getArgumentArray();
+
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/BooleanAttr.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/BooleanAttr.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/BooleanAttr.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/BooleanAttr.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,31 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.xml;
+
+
+/**
+ * This interface represents XML attribute information items of type xs:boolean.
+ * If the attribute value is not "true" or "false" the Boolean content will
+ * be initialized to "false" by default, but the isValid() method will
+ * return "false".
+ * 
+ * @author jkaputin@apache.org
+ */
+public interface BooleanAttr extends XMLAttr 
+{
+    public Boolean getBoolean();
+}

Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/HTTPAuthenticationSchemeAttr.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/HTTPAuthenticationSchemeAttr.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/HTTPAuthenticationSchemeAttr.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/HTTPAuthenticationSchemeAttr.java Tue Sep  1 05:54:15 2009
@@ -0,0 +1,32 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+package org.apache.woden.xml;
+
+import org.apache.woden.wsdl20.extensions.http.HTTPAuthenticationScheme;
+
+/**
+ * This interface represents the value of the whttp:authenticationScheme
+ * attribute.
+ * 
+ * @author Arthur Ryman (ryman@ca.ibm.ca, arthur.ryman@gmail.com)
+ * 
+ */
+public interface HTTPAuthenticationSchemeAttr extends XMLAttr {
+
+	HTTPAuthenticationScheme getScheme();
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org