diff WebServiceExtensionsV1.1/WebServiceToolWorkflow_REST_SOAP/lib/SAWADLParser/src/javax/wadls/extensions/AttributeExtensible.java @ 0:049760c677de default tip

Galaxy WSExtensions added successfully
author uga-galaxy-group
date Tue, 05 Jul 2011 19:34:18 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WebServiceExtensionsV1.1/WebServiceToolWorkflow_REST_SOAP/lib/SAWADLParser/src/javax/wadls/extensions/AttributeExtensible.java	Tue Jul 05 19:34:18 2011 -0400
@@ -0,0 +1,76 @@
+
+
+package javax.wadls.extensions;
+
+import java.util.*;
+import javax.xml.namespace.*;
+
+/**
+ * Classes that implement this interface can contain extensibility
+ * attributes.
+ *
+ * @author Matthew J. Duftler
+ * @author Paul Fremantle
+ */
+public interface AttributeExtensible
+{
+  public static final int NO_DECLARED_TYPE = -1;
+  public static final int STRING_TYPE = 0;
+  public static final int QNAME_TYPE = 1;
+  public static final int LIST_OF_STRINGS_TYPE = 2;
+  public static final int LIST_OF_QNAMES_TYPE = 3;
+
+  /**
+   * Set an extension attribute on this element. Pass in a null value to remove
+   * an extension attribute.
+   *
+   * @param name the extension attribute name
+   * @param value the extension attribute value. Can be a String, a QName, a
+   * List of Strings, or a List of QNames.
+   *
+   * @see #getExtensionAttribute
+   * @see #getExtensionAttributes
+   * @see ExtensionRegistry#registerExtensionAttributeType
+   * @see ExtensionRegistry#queryExtensionAttributeType
+   */
+  public void setExtensionAttribute(QName name, Object value);
+
+  /**
+   * Retrieve an extension attribute from this element. If the extension
+   * attribute is not defined, null is returned.
+   *
+   * @param name the extension attribute name
+   *
+   * @return the value of the extension attribute, or null if
+   * it is not defined. Can be a String, a QName, a List of Strings, or a List
+   * of QNames.
+   *
+   * @see #setExtensionAttribute
+   * @see #getExtensionAttributes
+   * @see ExtensionRegistry#registerExtensionAttributeType
+   * @see ExtensionRegistry#queryExtensionAttributeType
+   */
+  public Object getExtensionAttribute(QName name);
+
+  /**
+   * Get the map containing all the extension attributes defined
+   * on this element. The keys are the qnames of the attributes.
+   *
+   * @return a map containing all the extension attributes defined
+   * on this element
+   *
+   * @see #setExtensionAttribute
+   * @see #getExtensionAttribute
+   * @see ExtensionRegistry#registerExtensionAttributeType
+   * @see ExtensionRegistry#queryExtensionAttributeType
+   */
+  public Map getExtensionAttributes();
+
+  /**
+   * Get the list of local attribute names defined for this element in
+   * the WSDL specification.
+   *
+   * @return a List of Strings, one for each local attribute name
+   */
+  public List getNativeAttributeNames();
+}