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 2005/12/05 20:28:09 UTC

svn commit: r354136 - in /incubator/woden/java/src/org/apache/woden/wsdl20: extensions/AttributeExtensible.java extensions/ElementExtensible.java xml/WSDLElement.java

Author: jkaputin
Date: Mon Dec  5 11:27:54 2005
New Revision: 354136

URL: http://svn.apache.org/viewcvs?rev=354136&view=rev
Log:
Refactored attribute extensibility methods and 
element extensibility methods out of WSDLElement and
into separate interfaces as they will be needed for
extension elements that are themselves extensible
(e.g. SOAPModule)

Added:
    incubator/woden/java/src/org/apache/woden/wsdl20/extensions/AttributeExtensible.java
    incubator/woden/java/src/org/apache/woden/wsdl20/extensions/ElementExtensible.java
Modified:
    incubator/woden/java/src/org/apache/woden/wsdl20/xml/WSDLElement.java

Added: incubator/woden/java/src/org/apache/woden/wsdl20/extensions/AttributeExtensible.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/AttributeExtensible.java?rev=354136&view=auto
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/extensions/AttributeExtensible.java (added)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/extensions/AttributeExtensible.java Mon Dec  5 11:27:54 2005
@@ -0,0 +1,42 @@
+/**
+ * Copyright 2005 Apache Software Foundation 
+ *
+ * Licensed 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.extensions;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.xml.XMLAttr;
+
+/**
+ * This interface represents elements that may contain extension attributes.
+ * 
+ * @author jkaputin@apache.org
+ */
+public interface AttributeExtensible 
+{
+    /**
+     * Store the extension attribute object identified by the QName.
+     * If the attribute argument is null, remove the extension attribute identified
+     * by the specified QName argument.
+     * 
+     * TODO ? @throws IllegalArgumentException if the QName is null
+     */
+    public void setExtensionAttribute(QName attrQN, XMLAttr attr);
+    
+    public XMLAttr getExtensionAttribute(QName attrQN);
+    
+    public XMLAttr[] getExtensionAttributes();
+
+}

Added: incubator/woden/java/src/org/apache/woden/wsdl20/extensions/ElementExtensible.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/ElementExtensible.java?rev=354136&view=auto
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/extensions/ElementExtensible.java (added)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/extensions/ElementExtensible.java Mon Dec  5 11:27:54 2005
@@ -0,0 +1,30 @@
+/**
+ * Copyright 2005 Apache Software Foundation 
+ *
+ * Licensed 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.extensions;
+
+/**
+ * This interface represents elements that may contain extension elements.
+ * 
+ * @author jkaputin@apache.org
+ */
+public interface ElementExtensible 
+{
+    public void addExtensionElement(ExtensionElement extEl);
+    
+    public void removeExtensionElement(ExtensionElement extEl);
+
+    public ExtensionElement[] getExtensionElements();
+}

Modified: incubator/woden/java/src/org/apache/woden/wsdl20/xml/WSDLElement.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/WSDLElement.java?rev=354136&r1=354135&r2=354136&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/xml/WSDLElement.java (original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/xml/WSDLElement.java Mon Dec  5 11:27:54 2005
@@ -15,10 +15,8 @@
  */
 package org.apache.woden.wsdl20.xml;
 
-import javax.xml.namespace.QName;
-
-import org.apache.woden.wsdl20.extensions.ExtensionElement;
-import org.apache.woden.xml.XMLAttr;
+import org.apache.woden.wsdl20.extensions.AttributeExtensible;
+import org.apache.woden.wsdl20.extensions.ElementExtensible;
 
 /**
  * All WSDL 2.0 element interfaces will directly or indirectly extend this interface, 
@@ -26,26 +24,14 @@
  * 
  * @author jkaputin@apache.org
  */
-public interface WSDLElement 
+public interface WSDLElement extends AttributeExtensible, ElementExtensible
 {
 
     //---------------- Extension Attributes ----------------------------
     //
     //All elements in the WSDL 2.0 namespace support attribute extensibility
-    //so the related methods are declared in this interface.
-    
-    /**
-     * Store the extension attribute object identified by the QName.
-     * If the attribute argument is null, remove the extension attribute identified
-     * by the specified QName argument.
-     * 
-     * TODO ? @throws IllegalArgumentException if the QName is null
-     */
-    public void setExtensionAttribute(QName attrQN, XMLAttr attr);
-    
-    public XMLAttr getExtensionAttribute(QName attrQN);
+    //so the related methods are inherited by this interface.
     
-    public XMLAttr[] getExtensionAttributes();
 
    
     //---------------- Extension Elements ----------------------------
@@ -53,15 +39,10 @@
     //TODO clarify whether all WSDL 2.0 elements support element extensibility, as stated
     //in the xml representation sections in Part 1 - but contradicted by the WSDL 2.0 Schema,
     //which indicates <import> and <include> do NOT support element extensibility. If the
-    //schema is correct, the following element extensibility methods will be refactored
-    //into a new interface org.apache.woden.wsdl20.xml.ExtensibleElement, and the 
-    //applicable Element interfaces will extend it (i.e. all except Import and Include).
+    //schema is correct, then the applicable Element interfaces will extend
+    //org.apache.woden.wsdl20.extensions.ElementExtensible directly, instead of via
+    //WSDLElement.
     
-    public void addExtensionElement(ExtensionElement extEl);
     
-    public void removeExtensionElement(ExtensionElement extEl);
-
-    public ExtensionElement[] getExtensionElements();
     
-   
 }



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