javax.wsdl.extensions.AttributeExtensible Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of libre-wsdl4j Show documentation
Show all versions of libre-wsdl4j Show documentation
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();
}