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 [6/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/extensions/soap/SOAPModule.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPModule.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPModule.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPModule.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,39 @@
+/**
+ * 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.extensions.soap;
+
+import java.net.URI;
+
+import org.apache.woden.wsdl20.WSDLComponent;
+
+/**
+ * This interface represents the SOAPModule Component that can appear in the
+ * optional {soap modules} property of the WSDL 2.0 components Binding, BindingFault,
+ * BindingOperation, BindingFaultReference or BindingMessageReference.
+ *
+ * @author jkaputin@apache.org
+ */
+public interface SOAPModule
+{
+ public URI getRef();
+
+ public Boolean isRequired();
+
+ public WSDLComponent getParent();
+
+ public SOAPModuleElement toElement();
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPModuleElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPModuleElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPModuleElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPModuleElement.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,49 @@
+/**
+ * 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.extensions.soap;
+
+import java.net.URI;
+
+import org.apache.woden.wsdl20.extensions.AttributeExtensible;
+import org.apache.woden.wsdl20.extensions.ElementExtensible;
+import org.apache.woden.wsdl20.extensions.ExtensionElement;
+import org.apache.woden.wsdl20.xml.DocumentationElement;
+import org.apache.woden.wsdl20.xml.WSDLElement;
+
+/**
+ * This interface represents the <wsoap:module> extension element that
+ * can appear within a Binding, Binding Fault, Binding Operation, Binding
+ * Fault Reference or Binding Message Reference.
+ *
+ * @author jkaputin@apache.org
+ */
+public interface SOAPModuleElement extends ExtensionElement,
+ AttributeExtensible,
+ ElementExtensible
+{
+ public void setRef(URI uri);
+
+ public URI getRef();
+
+ public void setParentElement(WSDLElement wsdlEl);
+
+ public WSDLElement getParentElement();
+
+ public void addDocumentationElement(DocumentationElement docEl);
+
+ public DocumentationElement[] getDocumentationElements();
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingFaultPart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingFaultPart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingFaultPart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingFaultPart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,62 @@
+/**
+ * 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.fragids;
+
+import javax.xml.namespace.QName;
+import org.apache.woden.types.NCName;
+/**
+ * <code>BindingFaultPart</code> is a Binding Fault Pointer Part for the Binding Fault WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.bindingFault">http://www.w3.org/TR/wsdl20/#wsdl.bindingFault</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class BindingFaultPart implements ComponentPart {
+ private static final String emptyString = "".intern();
+ private final NCName binding; //Local name of the parent Binding component.
+ private QName fault; //Name of the Interface Fault referred to by this Binding Fault component.
+
+ /**
+ * Constructs a BindingFaultPart class from the values given.
+ *
+ * @param binding the local name of the parent Binding component.
+ * @param fault the name of the Interface Fault component referred to by this Binding Fault component.
+ * @throws IllegalArgumentException if binding or fault are null.
+ */
+ public BindingFaultPart(NCName binding, QName fault) {
+ if (binding == null | fault == null) {
+ throw new IllegalArgumentException();
+ }
+ this.binding = binding;
+ this.fault = fault;
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return new BindingFaultPart(binding, fragmentIdentifier.prefixQNameNamespace(fault));
+ }
+
+ /**
+ * Returns a String of the serialised Binding Fault Pointer Part.
+ *
+ * @return a String the serialised Binding Fault Pointer Part.
+ */
+ public String toString() {
+ String faultString = (fault.getPrefix() != null && !fault.getPrefix().equals(emptyString) ? fault.getPrefix() + ":" + fault.getLocalPart() : fault.getLocalPart());
+ return "wsdl.bindingFault(" + binding + "/" + faultString + ")";
+ }
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingFaultReferencePart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingFaultReferencePart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingFaultReferencePart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingFaultReferencePart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,72 @@
+/**
+ * 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.fragids;
+
+import javax.xml.namespace.QName;
+import org.apache.woden.types.NCName;
+
+/**
+ * <code>BindingFaultReferencePart</code> is a Binding Fault Reference Pointer Part for the Binding Fault Reference WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.bindingFaultReference">http://www.w3.org/TR/wsdl20/#wsdl.bindingFaultReference</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class BindingFaultReferencePart implements ComponentPart {
+ private static final String emptyString = "".intern();
+ private final NCName binding; //Local name of the parent Binding component.
+ private QName operation; //Name of the Interface Operation referred to by the parent Binding Operation component.
+ private final NCName message; //Message Label of the Interface Fault Reference component referred to by this Binding Fault Reference component.
+ private QName fault; //Name of the Interface Fault component referred to by the Interface Fault Reference component referred to by this Binding Fault Reference component.
+
+ /**
+ * Constructs an BindingFaultReferencePart class from the values given.
+ *
+ * @param binding the local name of the parent Binding component.
+ * @param operation the name of the Interface Operation referred to by the parent Binding Operation component.
+ * @param message the message label of the Interface Fault Reference component referred to by this Binding Message Reference component.
+ * @param fault the name of the Interface Fault component referred to by the Interface Fault Reference component referred to by this Binding Fault Reference component.
+ * @throws IllegalArgumentException if binding, operation, message or fault are null.
+ */
+ public BindingFaultReferencePart(NCName binding, QName operation, NCName message, QName fault) {
+ if (binding == null | operation == null | message == null | fault == null) {
+ throw new IllegalArgumentException();
+ }
+ this.binding = binding;
+ this.operation = operation;
+ this.message = message;
+ this.fault = fault;
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ QName nOperation = fragmentIdentifier.prefixQNameNamespace(operation);
+ QName nFault = fragmentIdentifier.prefixQNameNamespace(fault);
+ return new BindingFaultReferencePart(binding, nOperation, message, nFault);
+ }
+
+ /**
+ * Returns a String of the serialised Binding Fault Reference Pointer Part.
+ *
+ * @return a String the serialised Binding Fault Reference Pointer Part.
+ */
+ public String toString() {
+ String operationString = (operation.getPrefix() != null && !operation.getPrefix().equals(emptyString) ? operation.getPrefix() + ":" + operation.getLocalPart() : operation.getLocalPart());
+ String faultString = (fault.getPrefix() != null && !fault.getPrefix().equals(emptyString) ? fault.getPrefix() + ":" + fault.getLocalPart() : fault.getLocalPart());
+ return "wsdl.bindingFaultReference(" + binding + "/" + operationString + "/" + message + "/" + faultString + ")";
+ }
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingMessageReferencePart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingMessageReferencePart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingMessageReferencePart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingMessageReferencePart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,66 @@
+/**
+ * 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.fragids;
+
+import javax.xml.namespace.QName;
+import org.apache.woden.types.NCName;
+
+/**
+ * <code>BindingMessageReferencePart</code> is a Binding Message Reference Pointer Part for the Binding Message Reference WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.bindingMessageReference">http://www.w3.org/TR/wsdl20/#wsdl.bindingMessageReference</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class BindingMessageReferencePart implements ComponentPart {
+ private static final String emptyString = "".intern();
+ private final NCName binding; //Local name of the parent Binding component.
+ private QName operation; //Name of the Interface Operation referred to the parent Binding Operation component.
+ private final NCName message; //Message Label of the Interface Message Reference component referred to by this Binding Message Reference component.
+
+ /**
+ * Constructs a BindingMessageReferencePart class from the values given.
+ *
+ * @param binding the local name of the parent Binding component.
+ * @param operation the name of the Interface Operation referred to by this Binding Operation component.
+ * @param message the message label of the Interface Message Reference component referred to by this Binding Message Reference component.
+ * @throws IllegalArgumentException if binding, operation or message are null.
+ */
+ public BindingMessageReferencePart(NCName binding, QName operation, NCName message) {
+ if (binding == null | operation == null | message == null) {
+ throw new IllegalArgumentException();
+ }
+ this.binding = binding;
+ this.operation = operation;
+ this.message = message;
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return new BindingMessageReferencePart(binding, fragmentIdentifier.prefixQNameNamespace(operation), message);
+ }
+
+ /**
+ * Returns a String of the serialised Binding Message Reference Pointer Part.
+ *
+ * @return a String the serialised Binding Message Reference Pointer Part.
+ */
+ public String toString() {
+ String operationString = (operation.getPrefix() != null && !operation.getPrefix().equals(emptyString) ? operation.getPrefix() + ":" + operation.getLocalPart() : operation.getLocalPart());
+ return "wsdl.bindingMessageReference(" + binding + "/" + operationString + "/" + message + ")";
+ }
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingOperationPart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingOperationPart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingOperationPart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingOperationPart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,63 @@
+/**
+ * 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.fragids;
+
+import javax.xml.namespace.QName;
+import org.apache.woden.types.NCName;
+
+/**
+ * <code>BindingOperationPart</code> is a Binding Operation Pointer Part for the Binding Operation WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.bindingOperation">http://www.w3.org/TR/wsdl20/#wsdl.bindingOperation</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class BindingOperationPart implements ComponentPart {
+ private static final String emptyString = "".intern();
+ private final NCName binding; //Local name of the parent Binding component.
+ private QName operation; //Name of the Interface Operation component referred to by this Binding Operation component.
+
+ /**
+ * Constructs a BindingOperationPart class from the values given.
+ *
+ * @param binding the local name of the parent Binding component.
+ * @param operation the name of the Interface Operation component referred to by this Binding Operation component.
+ * @throws IllegalArgumentException if binding or operation are null.
+ */
+ public BindingOperationPart(NCName binding, QName operation) {
+ if (binding == null | operation == null) {
+ throw new IllegalArgumentException();
+ }
+ this.binding = binding;
+ this.operation = operation;
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return new BindingOperationPart(binding, fragmentIdentifier.prefixQNameNamespace(operation));
+ }
+
+ /**
+ * Returns a String of the serialised Binding Operation Pointer Part.
+ *
+ * @return a String the serialised Binding Operation Pointer Part.
+ */
+ public String toString() {
+ String operationString = (operation.getPrefix() != null && !operation.getPrefix().equals(emptyString) ? operation.getPrefix() + ":" + operation.getLocalPart() : operation.getLocalPart());
+ return "wsdl.bindingOperation(" + binding + "/" + operationString + ")";
+ }
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingPart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingPart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingPart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingPart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,71 @@
+/**
+ * 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.fragids;
+
+import org.apache.woden.types.NCName;
+
+import org.apache.woden.wsdl20.Binding;
+
+/**
+ * <code>BindingPart</code> is a Binding Pointer Part for the Binding WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.binding">http://www.w3.org/TR/wsdl20/#wsdl.binding</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class BindingPart implements ComponentPart {
+ private final NCName binding; //Local name of the Binding component.
+
+ /**
+ * Constructs a BindingPart class using values from the Binding WSDL 2.0 component.
+ *
+ * @param binding the local name of the Binding component.
+ * @throws IllegalArgumentException if binding is null.
+ */
+ public BindingPart(Binding binding) {
+ if (binding == null) {
+ throw new IllegalArgumentException();
+ }
+ this.binding = new NCName(binding.getName().getLocalPart());
+ }
+
+ /**
+ * Constructs a BindingPart from the given value.
+ *
+ * @param binding
+ */
+ public BindingPart(NCName binding) {
+ if (binding == null) {
+ throw new IllegalArgumentException();
+ }
+ this.binding = binding;
+ }
+
+ /**
+ * Returns a String of the serialised Binding Pointer Part.
+ *
+ * @return a String the serialised Binding Pointer Part.
+ */
+ public String toString() {
+ return "wsdl.binding(" + binding + ")";
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return this;
+ }
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ComponentPart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ComponentPart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ComponentPart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ComponentPart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,40 @@
+/**
+ * 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.fragids;
+
+import org.apache.woden.xpointer.PointerPart;
+
+/**
+ * <code>ComponentPart</code> is the abstract base class for all WSDL 2.0 component
+ * fragment identifiers.
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public interface ComponentPart extends PointerPart {
+
+ /**
+ * Checks that the namespace prefixes used in this PointerPart are consistent with those in the WSDL Fragment Identifier.
+ * It returns a identical copy of this object with the required changes.
+ * This method is called by the add method on WSDL Fragment Identifier when PointerParts are added to it.
+ *
+ * @param fragmentIdentifier a Fragment Identifier which the namespace prefixes are checked against.
+ * @return a ComponentPart which has been checked with changed namespaces if needed.
+ */
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier);
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/DescriptionPart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/DescriptionPart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/DescriptionPart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/DescriptionPart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,43 @@
+/**
+ * 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.fragids;
+
+
+/**
+ * <code>DescriptionPart</code> is a Description Pointer Part for the Description WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.description">http://www.w3.org/TR/wsdl20/#wsdl.description</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class DescriptionPart implements ComponentPart{
+
+ /**
+ * Returns a String of the serialised Description Pointer Part.
+ *
+ * @return a String the serialised Description Pointer Part.
+ */
+ public String toString() {
+ return "wsdl.description()";
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return this;
+ }
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ElementDeclarationPart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ElementDeclarationPart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ElementDeclarationPart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ElementDeclarationPart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,96 @@
+/**
+ * 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.fragids;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.WSDLReader;
+
+import java.net.URI;
+
+/**
+ * <code>ElementDeclarationPart</code> is a Element Declaration Pointer Part for the Element Declaration WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.elementDeclaration">http://www.w3.org/TR/wsdl20/#wsdl.elementDeclaration</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class ElementDeclarationPart implements ComponentPart {
+ private static final String emptyString = "".intern();
+ private QName element; //Name of the Element Declaration component.
+ private final URI system; //Namespace absolute IRI of the extension type system used for the Element Declaration component.
+
+ /**
+ * Constructs a ElementDeclarationPart class for an Element Declaration component with an XMLScheme type system.
+ *
+ * @param element the name of the Element Declaration component.
+ * @param system namespace absolute IRI of the extension type system used for the Element Declaration component.
+ * @throws IllegalArgumentException if element or system are null.
+ */
+ public ElementDeclarationPart(QName element, URI system) {
+ if (element == null | system == null) {
+ throw new IllegalArgumentException();
+ }
+ this.element = element;
+ if (system.toString().equals(WSDLReader.TYPE_XSD_2001)) {
+ this.system = null;
+ } else {
+ this.system = system;
+ }
+ }
+
+ /**
+ * Constructs a ElementDeclarationPart class for an Element Declaration component with another type system.
+ *
+ * @param element the name of the Element Declaration component.
+ * @throws IllegalArgumentException if element is null.
+ */
+ public ElementDeclarationPart(QName element) {
+ if (element == null) {
+ throw new IllegalArgumentException();
+ }
+ this.element = element;
+ this.system = null;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.woden.wsdl20.fragids.ComponentPart#prefixNamespaces(org.apache.woden.wsdl20.fragids.FragmentIdentifier)
+ */
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ if (system == null) {
+ return new ElementDeclarationPart(fragmentIdentifier.prefixQNameNamespace(element));
+ } else {
+ return new ElementDeclarationPart(fragmentIdentifier.prefixQNameNamespace(element), system);
+ }
+ }
+
+ /**
+ * Returns a String of the serialised Element Declaration Pointer Part.
+ *
+ * @return a String the serialised Element Declaration Pointer Part.
+ */
+ public String toString() {
+ String elementString = (element.getPrefix() != null && !element.getPrefix().equals(emptyString) ? element.getPrefix() + ":" + element.getLocalPart() : element.getLocalPart());
+ if (system == null) {
+ return "wsdl.elementDeclaration(" + elementString + ")";
+ } else {
+ return "wsdl.elementDeclaration(" + elementString + "," + system + ")";
+ }
+ }
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/EndpointPart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/EndpointPart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/EndpointPart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/EndpointPart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,61 @@
+/**
+ * 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.fragids;
+
+import org.apache.woden.types.NCName;
+
+/**
+ * <code>EndpointPart</code> is a Endpoint Pointer Part for the Endpoint WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.endpoint">http://www.w3.org/TR/wsdl20/#wsdl.endpoint</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class EndpointPart implements ComponentPart {
+ private final NCName service; //Local name of the parent Service component.
+ private final NCName endpoint; //Name of the Endpoint component
+
+ /**
+ * Constructs an EndpointPart class from the values given.
+ *
+ * @param service the local name of the parent Service component.
+ * @param endpoint the name of the Endpoint component.
+ * @throws IllegalArgumentException if service or endpoint are null.
+ */
+ public EndpointPart(NCName service, NCName endpoint) {
+ if (service == null | endpoint == null) {
+ throw new IllegalArgumentException();
+ }
+ this.service = service;
+ this.endpoint = endpoint;
+ }
+
+ /**
+ * Returns a String of the serialised Endpoint Pointer Part.
+ *
+ * @return a String the serialised Endpoint Pointer Part.
+ */
+ public String toString() {
+ return "wsdl.endpoint(" + service + "/" + endpoint + ")";
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return this;
+ }
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ExtensionsPart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ExtensionsPart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ExtensionsPart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ExtensionsPart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,61 @@
+/**
+ * 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.fragids;
+
+import java.net.URI;
+
+
+/**
+ * <code>ExtensionPart</code> is a Extension Pointer Part for the Extension WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.extension">http://www.w3.org/TR/wsdl20/#wsdl.extension</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class ExtensionsPart implements ComponentPart {
+ private final URI namespace; //Namespace IRI that identifies the Extension component.
+ private final String identifier; //Defined by the extension.
+
+ /**
+ * Constructs a Extensions Part class for an Extension component with an XMLScheme type system.
+ *
+ * @param namespace the namespace IRI that identifies the Extension component.
+ * @param identifier Defined by the extension.
+ * @throws IllegalArgumentException if namespace or identifier are null.
+ */
+ public ExtensionsPart(URI namespace, String identifier) {
+ if (namespace == null | identifier == null) {
+ throw new IllegalArgumentException();
+ }
+ this.namespace = namespace;
+ this.identifier = identifier;
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return this;
+ }
+
+ /**
+ * Returns a String of the serialised Extension Pointer Part.
+ *
+ * @return a String the serialised Extension Pointer Part.
+ */
+ public String toString() {
+ return "wsdl.extension(" + namespace + "/" + identifier + ")";
+ }
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/FragmentIdentifier.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/FragmentIdentifier.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/FragmentIdentifier.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/FragmentIdentifier.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,115 @@
+/**
+ * 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.fragids;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.types.NCName;
+import org.apache.woden.wsdl20.fragids.ComponentPart;
+import org.apache.woden.xpointer.XPointer;
+import org.apache.woden.xpointer.XmlnsPointerPart;
+
+/**
+ * This Class extends the XPointer class to work with WSDL fragment identifiers which are WSDL XPointer in effect.
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ * TODO Add methods to find WSDL component from the FragmentIdentifier.
+ * Add deserialisation code in a constructor with a String argument. (Pass this onto XPointer to do the work?)
+ *
+ */
+
+public class FragmentIdentifier {
+ private static XPointer xpointer;
+
+ /**
+ * Constructs a new empty Fragment Identifier
+ *
+ * @param wsdlPart The WSDL2.0 component pointer part for this fragment identifier.
+ *
+ */
+ public FragmentIdentifier(ComponentPart wsdlPart) {
+ xpointer = new XPointer();
+ wsdlPart = wsdlPart.prefixNamespaces(this); //Prefix namespaces if needed.
+ xpointer.addPointerPart(wsdlPart);
+ }
+
+ /**
+ * Returns a String serialisation of this fragment identifier.
+ *
+ * @return a String fragment identifier
+ */
+ public String toString() {
+ return xpointer.toString();
+ }
+
+ /** Namespace management code **/
+ /**
+ * Returns the prefix for the Xml namespace of the QName in the XPointer.
+ * If the namespace does not have a prefix in the XPointer it will create a new prefix
+ * with the prefix from the QName or one of the form nsXX and add a xmlns Pointer Part, then return that.
+ *
+ * @param qname The QName containing the namespace and a prefix.
+ * @return a NCName of the prefix for the namespace.
+ */
+ public NCName getXmlNamespacePrefix(QName qname) {
+ return getXmlNamespacePrefix(qname.getNamespaceURI());
+ }
+
+ /**
+ * Returns the prefix for the Xml namespace in the XPointer.
+ * If the namespace does not have a prefix in the XPointer it will create a new prefix
+ * of the form nsXX and add a xmlns Pointer Part, then return that.
+ *
+ * @param namespace The namespace to get the prefix for.
+ * @return a NCName of the prefix for the namespace.
+ */
+ public NCName getXmlNamespacePrefix(String namespace) {
+ //Lookup prefix
+ NCName prefix = (NCName)xpointer.getNamespaceBinding(namespace);
+ if (prefix == null) {
+ //The namespace does not have a prefix yet so lets add one.
+ //Find next available nsXXX prefix
+ int i = 1;
+ do {
+ prefix = new NCName("ns" + i);
+ i++;
+ } while (xpointer.hasPrefixBinding(prefix));
+
+ //Add prefix pointer part.
+ xpointer.addPointerPart(new XmlnsPointerPart(prefix, namespace));
+
+ //Add to our binding contex.
+ xpointer.addPrefixNamespaceBinding(prefix, namespace);
+ }
+ return prefix;
+ }
+
+ /**
+ * Returns a QName prefixed from the map of local namespaces and prefixes.
+ * The namespace and localpart remain unchanged.
+ *
+ * @param qname the QName used to lookup the namespace and copy.
+ * @return a QName with the new prefix, but same namespace and localpart.
+ */
+ public QName prefixQNameNamespace(QName qname) {
+ //Get prefix for the fault QName in the XPointer.
+ NCName prefix = getXmlNamespacePrefix(qname);
+ return new QName(qname.getNamespaceURI(), qname.getLocalPart(), prefix.toString());
+ }
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceFaultPart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceFaultPart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceFaultPart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceFaultPart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,61 @@
+/**
+ * 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.fragids;
+
+import org.apache.woden.types.NCName;
+
+/**
+ * <code>InterfaceFaultPart</code> is a Interface Fault Pointer Part for the Interface Fault WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.interfaceFault">http://www.w3.org/TR/wsdl20/#wsdl.interfaceFault</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class InterfaceFaultPart implements ComponentPart {
+ private final NCName interfaceName; //Local name of the parent Interface component.
+ private final NCName fault; //Local name of the Interface Fault component.
+
+ /**
+ * Constructs a InterfaceFaultPart class from the values given.
+ *
+ * @param interfaceName the local name of the parent Interface component.
+ * @param fault the name of the Interface Fault component.
+ * @throws IllegalArgumentException if interfaceName or fault are null.
+ */
+ public InterfaceFaultPart(NCName interfaceName, NCName fault) {
+ if (interfaceName == null | fault == null) {
+ throw new IllegalArgumentException();
+ }
+ this.interfaceName = interfaceName;
+ this.fault = fault;
+ }
+
+ /**
+ * Returns a String of the serialised Binding Fault Pointer Part.
+ *
+ * @return a String the serialised Binding Fault Pointer Part.
+ */
+ public String toString() {
+ return "wsdl.interfaceFault(" + interfaceName + "/" + fault + ")";
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return this;
+ }
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceFaultReferencePart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceFaultReferencePart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceFaultReferencePart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceFaultReferencePart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,69 @@
+/**
+ * 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.fragids;
+
+import javax.xml.namespace.QName;
+import org.apache.woden.types.NCName;
+
+/**
+ * <code>InterfaceFaultReferencePart</code> is a Interface Fault Reference Pointer Part for the Interface Fault Reference WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.interfaceFaultReference">http://www.w3.org/TR/wsdl20/#wsdl.interfaceFaultReference</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class InterfaceFaultReferencePart implements ComponentPart {
+ private static final String emptyString = "".intern();
+ private final NCName interfaceName; //Local name of the parent Interface component.
+ private final NCName operation; //Name of the parent Interface Operation component.
+ private final NCName message; //Message Label of the Interface Fault Reference component.
+ private QName fault; //Name of the Interface Fault component referred to by the Interface Fault Reference component.
+
+ /**
+ * Constructs a InterfaceFaultReferencePart class from the values given.
+ *
+ * @param interfaceName the local name of the parent Interface component.
+ * @param operation the name of the parent Interface Operation component.
+ * @param message the message label of the Interface Fault Reference component.
+ * @param fault the name of the Interface Fault component referred to by the Interface Fault Reference component.
+ * @throws IllegalArgumentException if interfaceName, operation, message or fault are null.
+ */
+ public InterfaceFaultReferencePart(NCName interfaceName, NCName operation, NCName message, QName fault) {
+ if (interfaceName == null | operation == null | message == null | fault == null) {
+ throw new IllegalArgumentException();
+ }
+ this.interfaceName = interfaceName;
+ this.operation = operation;
+ this.message = message;
+ this.fault = fault;
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return new InterfaceFaultReferencePart(interfaceName, operation, message, fragmentIdentifier.prefixQNameNamespace(fault));
+ }
+
+ /**
+ * Returns a String of the serialised Binding Fault Reference Pointer Part.
+ *
+ * @return a String the serialised Binding Fault Reference Pointer Part.
+ */
+ public String toString() {
+ String faultString = (fault.getPrefix() != null && !fault.getPrefix().equals(emptyString) ? fault.getPrefix() + ":" + fault.getLocalPart() : fault.getLocalPart());
+ return "wsdl.interfaceFaultReference(" + interfaceName + "/" + operation + "/" + message + "/" + faultString + ")";
+ }
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceMessageReferencePart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceMessageReferencePart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceMessageReferencePart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceMessageReferencePart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,64 @@
+/**
+ * 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.fragids;
+
+import org.apache.woden.types.NCName;
+
+/**
+ * <code>InterfaceMessageReferencePart</code> is a Interface Message Reference Pointer Part for the Interface Message Reference WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.interfaceMessageReference">http://www.w3.org/TR/wsdl20/#wsdl.interfaceMessageReference</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class InterfaceMessageReferencePart implements ComponentPart{
+ private final NCName interfaceName; //Local name of the parent Interface component.
+ private final NCName operation; //Name of the parent Interface Operation component.
+ private final NCName message; //Message Label of the Interface Message Reference component.
+
+ /**
+ * Constructs a InterfaceMessageReferencePart class from the values given.
+ *
+ * @param interfaceName the local name of the parent Interface component.
+ * @param operation the name of the parent Interface Operation component.
+ * @param message the message label of the Interface Message Reference component.
+ * @throws IllegalArgumentException if interfaceName, operation or message are null.
+ */
+ public InterfaceMessageReferencePart(NCName interfaceName, NCName operation, NCName message) {
+ if (interfaceName == null | operation == null | message == null) {
+ throw new IllegalArgumentException();
+ }
+ this.interfaceName = interfaceName;
+ this.operation = operation;
+ this.message = message;
+ }
+
+ /**
+ * Returns a String of the serialised Binding Message Reference Pointer Part.
+ *
+ * @return a String the serialised Binding Message Reference Pointer Part.
+ */
+ public String toString() {
+ return "wsdl.interfaceMessageReference(" + interfaceName + "/" + operation + "/" + message + ")";
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return this;
+ }
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceOperationPart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceOperationPart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceOperationPart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceOperationPart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,60 @@
+/**
+ * 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.fragids;
+
+import org.apache.woden.types.NCName;
+
+/**
+ * <code>InterfaceOperationPart</code> is a Interface Operation Pointer Part for the Interface Operation WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.interfaceOperation">http://www.w3.org/TR/wsdl20/#wsdl.interfaceOperation</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class InterfaceOperationPart implements ComponentPart {
+ private final NCName interfaceName; //Local name of the parent Interface component.
+ private final NCName operation; //Local name of the Interface Operation component.
+
+ /**
+ * Constructs a InterfaceOperationPart class from the values given.
+ *
+ * @param interfaceName the local name of the parent Interface component.
+ * @param operation the local name of the Interface Operation component.
+ * @throws IllegalArgumentException if interfaceName or operation are null.
+ */
+ public InterfaceOperationPart(NCName interfaceName, NCName operation) {
+ if (interfaceName == null | operation == null) {
+ throw new IllegalArgumentException();
+ }
+ this.interfaceName = interfaceName;
+ this.operation = operation;
+ }
+
+ /**
+ * Returns a String of the serialised Binding Operation Pointer Part.
+ *
+ * @return a String the serialised Binding Operation Pointer Part.
+ */
+ public String toString() {
+ return "wsdl.interfaceOperation(" + interfaceName + "/" + operation + ")";
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return this;
+ }
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfacePart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfacePart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfacePart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfacePart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,57 @@
+/**
+ * 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.fragids;
+
+import org.apache.woden.types.NCName;
+
+/**
+ * <code>InterfacePart</code> is a Interface Pointer Part for the Interface WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.interface">http://www.w3.org/TR/wsdl20/#wsdl.interface</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class InterfacePart implements ComponentPart {
+ private final NCName interfaceName; //Local name of the parent Interface component.
+
+ /**
+ * Constructs a InterfacePart class from the value given.
+ *
+ * @param interfaceName the local name of the Interface component.
+ * @throws IllegalArgumentException if interfaceName is null.
+ */
+ public InterfacePart(NCName interfaceName) {
+ if (interfaceName == null) {
+ throw new IllegalArgumentException();
+ }
+ this.interfaceName = interfaceName;
+ }
+
+ /**
+ * Returns a String of the serialised Interface Pointer Part.
+ *
+ * @return a String the serialised Interface Pointer Part.
+ */
+ public String toString() {
+ return "wsdl.interface(" + interfaceName + ")";
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return this;
+ }
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ServicePart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ServicePart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ServicePart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ServicePart.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,58 @@
+/**
+ * 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.fragids;
+
+import org.apache.woden.types.NCName;
+
+/**
+ * <code>ServicePart</code> is a Service Pointer Part for the Service WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.service">http://www.w3.org/TR/wsdl20/#wsdl.service</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class ServicePart implements ComponentPart {
+ private final NCName service; //Local name of the Service component.
+
+ /**
+ * Constructs an ServicePart class from the value given.
+ *
+ * @param service the local name of the Service component.
+ * @throws IllegalArgumentException if service is null.
+ */
+ public ServicePart(NCName service) {
+ if (service == null) {
+ throw new IllegalArgumentException();
+ }
+ this.service = service;
+ }
+
+ /**
+ * Returns a String of the serialised Service Pointer Part.
+ *
+ * @return a String the serialised Service Pointer Part.
+ */
+ public String toString() {
+ return "wsdl.service(" + service + ")";
+ }
+
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ return this;
+ }
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/TypeDefinitionPart.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/TypeDefinitionPart.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/TypeDefinitionPart.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/TypeDefinitionPart.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.fragids;
+
+import javax.xml.namespace.QName;
+
+
+import java.net.URI;
+
+/**
+ * <code>TypeDefinitionPart</code> is a Type Definition Pointer Part for the Type Definition WSDL 2.0 component.
+ * See the specification at <a href="http://www.w3.org/TR/wsdl20/#wsdl.typeDefinition">http://www.w3.org/TR/wsdl20/#wsdl.typeDefinition</a>
+ *
+ * @author Dan Harvey (danharvey42@gmail.com)
+ *
+ */
+public class TypeDefinitionPart implements ComponentPart{
+ private static final String emptyString = "".intern();
+ private QName type; //Name of the Type Definition component.
+ private final URI system; //Namespace absolute IRI of the extension type system used for the Type Definition component.
+
+ /**
+ * Constructs a TypeDefinitionPart class for an Type Definition component with an XMLScheme type system.
+ *
+ * @param type the name of the Type Definition component.
+ * @param system namespace absolute IRI of the extension type system used for the Type Definition component.
+ * @throws IllegalArgumentException if type or system are null.
+ */
+ public TypeDefinitionPart(QName type, URI system) {
+ if (type == null | system == null) {
+ throw new IllegalArgumentException();
+ }
+ this.type = type;
+ this.system = system;
+ }
+
+ /**
+ * Constructs an TypeDefinitionPart class for an Type Definition component with another type system.
+ *
+ * @param type the name of the Definition component.
+ * @throws IllegalArgumentException if type is null.
+ */
+ public TypeDefinitionPart(QName type) {
+ if (type == null) {
+ throw new IllegalArgumentException();
+ }
+ this.type = type;
+ this.system = null;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.woden.wsdl20.fragids.ComponentPart#prefixNamespaces(org.apache.woden.wsdl20.fragids.FragmentIdentifier)
+ */
+ public ComponentPart prefixNamespaces(FragmentIdentifier fragmentIdentifier) {
+ if (system == null) {
+ return new TypeDefinitionPart(fragmentIdentifier.prefixQNameNamespace(type));
+ } else {
+ return new TypeDefinitionPart(fragmentIdentifier.prefixQNameNamespace(type), system);
+ }
+ }
+
+ /**
+ * Returns a String of the serialised Type Definition Pointer Part.
+ *
+ * @return a String the serialised Type Definition Pointer Part.
+ */
+ public String toString() {
+ String typeString = (type.getPrefix() != null && !type.getPrefix().equals(emptyString) ? type.getPrefix() + ":" + type.getLocalPart() : type.getLocalPart());
+ if (system == null) {
+ return "wsdl.typeDefinition(" + typeString + ")";
+ } else {
+ return "wsdl.typeDefinition(" + typeString + "," + system + ")";
+ }
+ }
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/Assertion.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/Assertion.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/Assertion.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/Assertion.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,54 @@
+/**
+ * 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.validation;
+
+import org.apache.woden.WSDLException;
+
+
+/**
+ * Represents an assertion about the WSDL document or component model.
+ * This assertion may be defined by the WSDL 2.0 specification or by
+ * a WSDL extension specification.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ *
+ */
+public interface Assertion {
+
+ /**
+ * Return the assertion identifier.
+ * For example, "Description-1001".
+ * The WSDL 2.0 specification defines assertion ids for the WSDL infoset and
+ * component model and for the extensions defined in Part 2: Adjuncts
+ * (wsdlx, wrpc, wsoap, whttp).
+ * Providers of other extensions must define unique identifiers for their
+ * assertions.
+ *
+ * @return the String representing the ID of this assertion.
+ */
+ public String getId();
+
+ /**
+ * Validates the specified WSDL object against this assertion.
+ *
+ * @param target the WSDL object that is the target of the assertion
+ * @param wodenCtx WodenContext containing helper objects useful to
+ * Assertion implementors
+ */
+ public void validate(Object target, WodenContext wodenCtx) throws WSDLException;
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/AssertionInfo.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/AssertionInfo.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/AssertionInfo.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/AssertionInfo.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,43 @@
+/**
+ * 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.validation;
+
+
+
+/**
+ * Represents an immutable object containing the information about an assertion
+ * which is needed to perform WSDL validation.
+ * This information consists of the Assertion object and the target Class
+ * for the WSDL component that this assertion applies to.
+ * <p>
+ * TODO assertion dependencies to be added later.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ *
+ */
+public class AssertionInfo {
+
+ public final Assertion assertion;
+ public final Class targetClass;
+ //TODO private List dependencies;
+
+ public AssertionInfo(Assertion assertion, Class targetClass) {
+ this.assertion = assertion;
+ this.targetClass = targetClass;
+ }
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/WodenContext.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/WodenContext.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/WodenContext.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/WodenContext.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.validation;
+
+import org.apache.woden.ErrorReporter;
+import org.apache.woden.resolver.URIResolver;
+
+/**
+ * Represents a container of 'helper' objects which can be used
+ * by Assertion implementors
+ * <p>
+ * TODO consider moving this to org.apache.woden package for general use by all Woden framework extension points (ser/deserializers, assertions, BaseCompExtCtx, ExtReg subclasses, XMLAttr impls)
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ *
+ */
+public interface WodenContext {
+
+ public ErrorReporter getErrorReporter();
+
+ public URIResolver getUriResolver();
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingElement.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,141 @@
+/**
+ * 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 <binding> element.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface BindingElement extends DocumentableElement,
+ NestedElement
+{
+ /*
+ * Attributes
+ */
+
+ /**
+ * Set the name of this BindingElement to the specified NCName.
+ * This corresponds to the <code>name</code> attribute of the <binding> element.
+ *
+ * @param name the NCName that represents this binding.
+ */
+ public void setName(NCName name);
+
+ /**
+ * Return the qualified name of this BindingElement, which consists of its
+ * local name and the targetNamespace of the parent DescriptionElement.
+ *
+ * @return the binding QName
+ */
+ public QName getName();
+
+ /**
+ * Specify the name of the InterfaceElement referred to by this BindingElement.
+ * This corresponds to the <code>interface</code> attribute of the <binding> element.
+ *
+ * @param interfaceName the QName of the interface
+ */
+ public void setInterfaceName(QName interfaceName);
+
+ /**
+ * Return the name of the InterfaceElement referred to by this BindingElement.
+ * This corresponds to the <code>interface</code> attribute of the <binding> element.
+ *
+ * @return the interface QName
+ */
+ public QName getInterfaceName();
+
+ /**
+ * Return the InterfaceElement referred to by this BindingElement.
+ * This equates to the <interface> element referred to by the <code>interface</code>
+ * attribute of the <binding> element.
+ * If this reference cannot be resolved to an InterfaceElement or if this BindingElement
+ * is a generic (interface-less) binding, this method will return null.
+ *
+ * @return the InterfaceElement
+ */
+ public InterfaceElement getInterfaceElement();
+
+ /**
+ * Set the binding type to the specified URI.
+ * This identifies the type of WSDL extensions used with this binding.
+ * This corresponds to the <code>type</code> attribute of the <binding> element.
+ *
+ * @param type the URI indicating the binding type
+ */
+ public void setType(URI type);
+
+ /**
+ * Return the URI that identifies the binding type.
+ * This corresponds to the <code>type</code> attribute of the <binding> element.
+ *
+ * @return the binding type URI
+ */
+ public URI getType();
+
+ /*
+ * Elements
+ */
+
+ /**
+ * Create a BindingFaultElement with this BindingElement as its parent and
+ * return a reference to it.
+ * This equates to adding a <fault> element to the <binding> element.
+ *
+ * @return the BindingFaultElement
+ */
+ public BindingFaultElement addBindingFaultElement();
+
+ /**
+ * Return the set of BindingFaultElements within this BindingElement.
+ * This equates to the set of <fault> elements within the <binding> element.
+ * If no BindingFaultElements exist, an empty array is returned.
+ *
+ * @return an array of BindingFaultElement
+ */
+ public BindingFaultElement[] getBindingFaultElements();
+
+ //TODO removeBindingFaultElement method
+
+ /**
+ * Create a BindingOperationElement with this BindingElement as its parent and
+ * return a reference to it.
+ * This equates to adding an <operation> element to the <binding> element.
+ *
+ * @return the BindingOperationElement
+ */
+ public BindingOperationElement addBindingOperationElement();
+
+ /**
+ * Return the set of BindingOperationElements within this BindingElement
+ * This equates to the set of <operation> elements within the <binding> element.
+ * If no BindingOperationElements exist, an empty array is returned.
+ *
+ * @return an array of BindingOperationElement
+ */
+ public BindingOperationElement[] getBindingOperationElements();
+
+ //TODO removeBindingOperationElement method
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingFaultElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingFaultElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingFaultElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingFaultElement.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,57 @@
+/**
+ * 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 <fault> element, declared as a child
+ * of the <binding> element.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface BindingFaultElement extends DocumentableElement,
+ NestedElement
+{
+ /**
+ * Specify the name of the InterfaceFaultElement referred to by this BindingFaultElement.
+ * The specified QName corresponds to the <code>ref</code> attribute of the binding
+ * <fault> element.
+ *
+ * @param faultName the QName of the interface fault
+ */
+ public void setRef(QName faultName);
+
+ /**
+ * Return the name of the InterfaceFaultElement referred to by this BindingFaultElement.
+ * This corresponds to the <code>ref</code> attribute of the binding <fault> element.
+ *
+ * @return the QName of the interface fault
+ */
+ public QName getRef();
+
+ /**
+ * Return the InterfaceFaultElement referred to by this BindingFaultElement.
+ * This equates to the interface <fault> element referred to by the
+ * <code>ref</code> attribute of the binding <fault> element.
+ * If this reference cannot be resolved to an InterfaceFaultElement, this method will
+ * return null.
+ *
+ * @return the InterfaceFaultElement
+ */
+ public InterfaceFaultElement getInterfaceFaultElement();
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingFaultReferenceElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingFaultReferenceElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingFaultReferenceElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingFaultReferenceElement.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,79 @@
+/**
+ * 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 <infault> and <outfault> elements,
+ * declared as child elements of the binding <operation> element.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface BindingFaultReferenceElement extends DocumentableElement,
+ NestedElement
+{
+ /**
+ * Specify the name of the InterfaceFaultReferenceElement referred to by this
+ * BindingFaultReferenceElement.
+ * The specified QName corresponds to the <code>ref</code> attribute of the binding operation
+ * <infault> or <outfault> element.
+ *
+ * @param faultRefName the QName of the interface fault reference.
+ */
+ public void setRef(QName faultRefName);
+
+ /**
+ * Return the name of the InterfaceFaultReferenceElement referred to by this
+ * BindingFaultReferenceElement.
+ * This corresponds to the <code>ref</code> attribute of the binding operation
+ * <infault> or <outfault> element.
+ *
+ * @return the QName of the interface fault reference
+ */
+ public QName getRef();
+
+ /**
+ * Return the InterfaceFaultReferenceElement referred to by this BindingFaultReferenceElement.
+ * This equates to an <infault> or <outfault> element of the interface operation being
+ * bound whose message label is equal to the effective message label of this binding fault
+ * reference and whose associated interface fault is identified by the <code>ref</code> attribute
+ * if this binding fault reference.
+ * If such an element does not exist, this method will return null.
+ *
+ * @return the InterfaceFaultReferenceElement
+ */
+ public InterfaceFaultReferenceElement getInterfaceFaultReferenceElement();
+
+ /**
+ * Set the message label to the specified NCName. This corresponds to a placeholder message
+ * in the message exchange pattern specified by the parent binding <operation> element.
+ *
+ * @param msgLabel the NCName representing the message label
+ */
+ public void setMessageLabel(NCName msgLabel);
+
+ /**
+ * Return the NCName representing the message label. This corresponds to a placeholder message
+ * in the message exchange pattern specified by the parent binding <operation> element.
+ *
+ * @return NCName the message label
+ */
+ public NCName getMessageLabel();
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org