com.ibm.wsdl
Class BindingImpl

java.lang.Object
  extended by com.ibm.wsdl.AbstractWSDLElement
      extended by com.ibm.wsdl.BindingImpl
All Implemented Interfaces:
java.io.Serializable, Binding, AttributeExtensible, ElementExtensible, WSDLElement

public class BindingImpl
extends AbstractWSDLElement
implements Binding

This class represents a port type binding and describes the protocol required for using operations in a port type.

Author:
Paul Fremantle, Nirmal Mukhi, Matthew J. Duftler
See Also:
Serialized Form

Field Summary
protected  java.util.List bindingOperations
           
protected  boolean isUndefined
           
protected  QName name
           
protected  java.util.List nativeAttributeNames
           
protected  PortType portType
           
static long serialVersionUID
           
 
Fields inherited from class com.ibm.wsdl.AbstractWSDLElement
docEl, extElements, extensionAttributes
 
Fields inherited from interface javax.wsdl.extensions.AttributeExtensible
LIST_OF_QNAMES_TYPE, LIST_OF_STRINGS_TYPE, NO_DECLARED_TYPE, QNAME_TYPE, STRING_TYPE
 
Constructor Summary
BindingImpl()
           
 
Method Summary
 void addBindingOperation(BindingOperation bindingOperation)
          Add an operation binding to binding.
 BindingOperation getBindingOperation(java.lang.String name, java.lang.String inputName, java.lang.String outputName)
          Get the specified operation binding.
 java.util.List getBindingOperations()
          Get all the operation bindings defined here.
 java.util.List getNativeAttributeNames()
          Get the list of local attribute names defined for this element in the WSDL specification.
 PortType getPortType()
          Get the port type this is a binding for.
 QName getQName()
          Get the name of this binding.
 boolean isUndefined()
           
 BindingOperation removeBindingOperation(java.lang.String name, java.lang.String inputName, java.lang.String outputName)
          Remove the specified operation binding.
 void setPortType(PortType portType)
          Set the port type this is a binding for.
 void setQName(QName name)
          Set the name of this binding.
 void setUndefined(boolean isUndefined)
           
 java.lang.String toString()
           
 
Methods inherited from class com.ibm.wsdl.AbstractWSDLElement
addExtensibilityElement, getDocumentationElement, getExtensibilityElements, getExtensionAttribute, getExtensionAttributes, removeExtensibilityElement, setDocumentationElement, setExtensionAttribute
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.wsdl.WSDLElement
getDocumentationElement, setDocumentationElement
 
Methods inherited from interface javax.wsdl.extensions.AttributeExtensible
getExtensionAttribute, getExtensionAttributes, setExtensionAttribute
 
Methods inherited from interface javax.wsdl.extensions.ElementExtensible
addExtensibilityElement, getExtensibilityElements, removeExtensibilityElement
 

Field Detail

name

protected QName name

portType

protected PortType portType

bindingOperations

protected java.util.List bindingOperations

nativeAttributeNames

protected java.util.List nativeAttributeNames

isUndefined

protected boolean isUndefined

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

BindingImpl

public BindingImpl()
Method Detail

setQName

public void setQName(QName name)
Set the name of this binding.

Specified by:
setQName in interface Binding
Parameters:
name - the desired name

getQName

public QName getQName()
Get the name of this binding.

Specified by:
getQName in interface Binding
Returns:
the binding name

setPortType

public void setPortType(PortType portType)
Set the port type this is a binding for.

Specified by:
setPortType in interface Binding
Parameters:
portType - the port type associated with this binding

getPortType

public PortType getPortType()
Get the port type this is a binding for.

Specified by:
getPortType in interface Binding
Returns:
the associated port type

addBindingOperation

public void addBindingOperation(BindingOperation bindingOperation)
Add an operation binding to binding.

Specified by:
addBindingOperation in interface Binding
Parameters:
bindingOperation - the operation binding to be added

getBindingOperation

public BindingOperation getBindingOperation(java.lang.String name,
                                            java.lang.String inputName,
                                            java.lang.String outputName)
Get the specified operation binding. Note that operation names can be overloaded within a PortType. In case of overloading, the names of the input and output messages can be used to further refine the search.

The search criteria will be the operation name parameter and any non-null input or output message name parameters. To exclude the input or output message name from the search criteria, specify a null value for the input or output message name parameter. To search for operations with unnamed input or output messages (i.e. <input> or <output> elements with the 'name' attribute omitted), specify the string ":none" for the input or output message name parameter.

Note: the use of a string value ":none" rather than null to search for unnamed input or output messages is necessary to retain backward compatibility with earlier versions of the JWSDL API, which defined a null value to mean 'ignore this parameter'. The colon in ":none" is to avoid name clashes with input or output message names, which must be of type NCName (i.e. they cannot contain colons).

Specified by:
getBindingOperation in interface Binding
Parameters:
name - the name of the desired operation binding.
inputName - the name of the input message; if this is null it will be ignored, if this is ":none" it means search for an input message without a name.
outputName - the name of the output message; if this is null it will be ignored, if this is ":none" it means search for an output message without a name.
Returns:
the corresponding operation binding, or null if there wasn't any matching operation binding
Throws:
java.lang.IllegalArgumentException - if duplicate operations are found.

getBindingOperations

public java.util.List getBindingOperations()
Get all the operation bindings defined here.

Specified by:
getBindingOperations in interface Binding

removeBindingOperation

public BindingOperation removeBindingOperation(java.lang.String name,
                                               java.lang.String inputName,
                                               java.lang.String outputName)
Remove the specified operation binding. Note that operation names can be overloaded within a PortType. In case of overloading, the names of the input and output messages can be used to further refine the search.

Usage of the input and output message name parameters is as described for the getBindingOperation method.

Specified by:
removeBindingOperation in interface Binding
Parameters:
name - the name of the operation binding to be removed.
inputName - the name of the input message; if this is null it will be ignored, if this is ":none" it means search for an input message without a name.
outputName - the name of the output message; if this is null it will be ignored, if this is ":none" it means search for an output message without a name.
Returns:
the binding operation which was removed, or null if there wasn't any matching operation
Throws:
java.lang.IllegalArgumentException - if duplicate operations are found.
See Also:
getBindingOperation(String, String, String)

setUndefined

public void setUndefined(boolean isUndefined)
Specified by:
setUndefined in interface Binding

isUndefined

public boolean isUndefined()
Specified by:
isUndefined in interface Binding

toString

public java.lang.String toString()
Overrides:
toString in class AbstractWSDLElement

getNativeAttributeNames

public java.util.List getNativeAttributeNames()
Get the list of local attribute names defined for this element in the WSDL specification.

Specified by:
getNativeAttributeNames in interface AttributeExtensible
Returns:
a List of Strings, one for each local attribute name


Copyright ? 2003,2006 IBM. All Rights Reserved.