Package com.ibm.wsdl

Class BindingImpl

All Implemented Interfaces:
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:
  • Field Details

    • name

      protected QName name
    • portType

      protected PortType portType
    • bindingOperations

      protected List bindingOperations
    • nativeAttributeNames

      protected List nativeAttributeNames
    • isUndefined

      protected boolean isUndefined
    • serialVersionUID

      public static final long serialVersionUID
      See Also:
  • Constructor Details

    • BindingImpl

      public BindingImpl()
  • Method Details

    • 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(String name, String inputName, 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:
      IllegalArgumentException - if duplicate operations are found.
    • getBindingOperations

      public List getBindingOperations()
      Get all the operation bindings defined here.
      Specified by:
      getBindingOperations in interface Binding
    • removeBindingOperation

      public BindingOperation removeBindingOperation(String name, String inputName, 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:
      IllegalArgumentException - if duplicate operations are found.
      See Also:
    • setUndefined

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

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

      public String toString()
      Overrides:
      toString in class AbstractWSDLElement
    • getNativeAttributeNames

      public 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