All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.wsdl.extensions.AttributeExtensible Maven / Gradle / Ivy

Go to download

Open and Free WSDL library: Web Services Description Language. Libre-wsdl4j is a fork of WSDL4J 1.6.3. WSL4j is a Java stub generator for WSDL. Many software projects still depends on WSL4j, so the idea is that libre-wsdl4j should be an actively maintained version of this software on GitHub. "WSDL, that's an anchronym i haven't heard in almost ten years." Still big in the enterprise world" - comments on the Internet.

The newest version!
/*
 * (c) Copyright IBM Corp 2004, 2005 
 */

package javax.wsdl.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
{
  int NO_DECLARED_TYPE = -1;
  int STRING_TYPE = 0;
  int QNAME_TYPE = 1;
  int LIST_OF_STRINGS_TYPE = 2;
  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
   */
  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
   */
  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
   */
  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
   */
  List getNativeAttributeNames();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy