Class BindingImpl

java.lang.Object
com.sun.xml.ws.binding.BindingImpl
All Implemented Interfaces:
WSBinding, jakarta.xml.ws.Binding
Direct Known Subclasses:
HTTPBindingImpl, SOAPBindingImpl

public abstract class BindingImpl extends Object implements WSBinding
Instances are created by the service, which then sets the handler chain on the binding impl.

This class is made abstract as we don't see a situation when a BindingImpl has much meaning without binding id. IOW, for a specific binding there will be a class extending BindingImpl, for example SOAPBindingImpl.

The spi Binding interface extends Binding.

Author:
WS Development Team
  • Field Details

  • Constructor Details

    • BindingImpl

      protected BindingImpl(BindingID bindingId, jakarta.xml.ws.WebServiceFeature... features)
  • Method Details

    • getHandlerChain

      @NotNull public List<jakarta.xml.ws.handler.Handler> getHandlerChain()
      Specified by:
      getHandlerChain in interface jakarta.xml.ws.Binding
      Specified by:
      getHandlerChain in interface WSBinding
    • getHandlerConfig

      public HandlerConfiguration getHandlerConfig()
    • setHandlerConfig

      protected void setHandlerConfig(HandlerConfiguration handlerConfig)
    • setMode

      public void setMode(@NotNull jakarta.xml.ws.Service.Mode mode)
    • getKnownHeaders

      public Set<QName> getKnownHeaders()
      Description copied from interface: WSBinding
      Returns set of header QNames known to be supported by this binding.
      Specified by:
      getKnownHeaders in interface WSBinding
      Returns:
      Set of known QNames
    • addKnownHeader

      public boolean addKnownHeader(QName headerQName)
      Description copied from interface: WSBinding
      Adds header QName to set known to be supported by this binding
      Specified by:
      addKnownHeader in interface WSBinding
      Parameters:
      headerQName - Known header QName
      Returns:
      true, if new entry was added; false, if known header QName was already known
    • getBindingId

      @NotNull public BindingID getBindingId()
      Description copied from interface: WSBinding
      Gets the binding ID, which uniquely identifies the binding.

      The relevant specs define the binding IDs and what they mean. The ID is used in many places to identify the kind of binding (such as SOAP1.1, SOAP1.2, REST, ...)

      Specified by:
      getBindingId in interface WSBinding
      Returns:
      Always non-null same value.
    • getSOAPVersion

      public final SOAPVersion getSOAPVersion()
      Description copied from interface: WSBinding
      Gets the SOAP version of this binding. TODO: clarify what to do with XML/HTTP binding

      This is just a short-cut for getBindingID().getSOAPVersion()

      Specified by:
      getSOAPVersion in interface WSBinding
      Returns:
      If the binding is using SOAP, this method returns a SOAPVersion constant. If the binding is not based on SOAP, this method returns null. See Message for how a non-SOAP binding shall be handled by Tubes.
    • getAddressingVersion

      public AddressingVersion getAddressingVersion()
      Description copied from interface: WSBinding
      Gets the WS-Addressing version of this binding.
      TODO: clarify what to do with XML/HTTP binding
      Specified by:
      getAddressingVersion in interface WSBinding
      Returns:
      If the binding is using SOAP and WS-Addressing is enabled, this method returns a AddressingVersion constant. If binding is not using SOAP or WS-Addressing is not enabled, this method returns null. This might be little slow as it has to go over all the features on binding. Its advisable to cache the addressingVersion wherever possible and reuse it.
    • createCodec

      @NotNull public final Codec createCodec()
    • initializeJavaActivationHandlers

      public static void initializeJavaActivationHandlers()
    • create

      public static BindingImpl create(@NotNull BindingID bindingId)
    • create

      public static BindingImpl create(@NotNull BindingID bindingId, jakarta.xml.ws.WebServiceFeature[] features)
    • getDefaultBinding

      public static WSBinding getDefaultBinding()
    • getBindingID

      public String getBindingID()
      Specified by:
      getBindingID in interface jakarta.xml.ws.Binding
    • getFeature

      @Nullable public <F extends jakarta.xml.ws.WebServiceFeature> F getFeature(@NotNull Class<F> featureType)
      Description copied from interface: WSBinding
      Gets a WebServiceFeature of the specific type.
      Specified by:
      getFeature in interface WSBinding
      Parameters:
      featureType - The type of the feature to retrieve.
      Returns:
      If the feature is present and enabled, return a non-null instance. Otherwise null.
    • getOperationFeature

      @Nullable public <F extends jakarta.xml.ws.WebServiceFeature> F getOperationFeature(@NotNull Class<F> featureType, @NotNull QName operationName)
      Description copied from interface: WSBinding
      Experimental: Gets a WebServiceFeature of the specific type that applies to an operation.
      Specified by:
      getOperationFeature in interface WSBinding
      Parameters:
      featureType - The type of the feature to retrieve.
      operationName - The WSDL name of the operation.
      Returns:
      If the feature is present and enabled, return a non-null instance. Otherwise null.
    • isFeatureEnabled

      public boolean isFeatureEnabled(@NotNull Class<? extends jakarta.xml.ws.WebServiceFeature> feature)
      Description copied from interface: WSBinding
      Checks if a particular WebServiceFeature is enabled.
      Specified by:
      isFeatureEnabled in interface WSBinding
      Returns:
      true if enabled.
    • isOperationFeatureEnabled

      public boolean isOperationFeatureEnabled(@NotNull Class<? extends jakarta.xml.ws.WebServiceFeature> featureType, @NotNull QName operationName)
      Description copied from interface: WSBinding
      Experimental: Checks if a particular WebServiceFeature on an operation is enabled.
      Specified by:
      isOperationFeatureEnabled in interface WSBinding
      operationName - The WSDL name of the operation.
      Returns:
      true if enabled.
    • getFeatures

      @NotNull public WebServiceFeatureList getFeatures()
      Description copied from interface: WSBinding
      Returns a list of features associated with WSBinding.
      Specified by:
      getFeatures in interface WSBinding
    • getOperationFeatures

      @NotNull public WebServiceFeatureList getOperationFeatures(@NotNull QName operationName)
      Description copied from interface: WSBinding
      Experimental: Returns a list of features associated with WSBinding that apply to a particular operation.
      Specified by:
      getOperationFeatures in interface WSBinding
      Parameters:
      operationName - The WSDL name of the operation.
    • getInputMessageFeatures

      @NotNull public WebServiceFeatureList getInputMessageFeatures(@NotNull QName operationName)
      Description copied from interface: WSBinding
      Experimental: Returns a list of features associated with WSBinding that apply to the input message of an operation.
      Specified by:
      getInputMessageFeatures in interface WSBinding
      Parameters:
      operationName - The WSDL name of the operation.
    • getOutputMessageFeatures

      @NotNull public WebServiceFeatureList getOutputMessageFeatures(@NotNull QName operationName)
      Description copied from interface: WSBinding
      Experimental: Returns a list of features associated with WSBinding that apply to the output message of an operation.
      Specified by:
      getOutputMessageFeatures in interface WSBinding
      Parameters:
      operationName - The WSDL name of the operation.
    • getFaultMessageFeatures

      @NotNull public WebServiceFeatureList getFaultMessageFeatures(@NotNull QName operationName, @NotNull QName messageName)
      Description copied from interface: WSBinding
      Experimental: Returns a list of features associated with WSBinding that apply to one of the fault messages of an operation.
      Specified by:
      getFaultMessageFeatures in interface WSBinding
      Parameters:
      operationName - The WSDL name of the operation.
      messageName - The WSDL name of the fault message.
    • setOperationFeatures

      public void setOperationFeatures(@NotNull QName operationName, jakarta.xml.ws.WebServiceFeature... newFeatures)
    • setInputMessageFeatures

      public void setInputMessageFeatures(@NotNull QName operationName, jakarta.xml.ws.WebServiceFeature... newFeatures)
    • setOutputMessageFeatures

      public void setOutputMessageFeatures(@NotNull QName operationName, jakarta.xml.ws.WebServiceFeature... newFeatures)
    • setFaultMessageFeatures

      public void setFaultMessageFeatures(@NotNull QName operationName, @NotNull QName messageName, jakarta.xml.ws.WebServiceFeature... newFeatures)
    • getMessageContextFactory

      @NotNull public MessageContextFactory getMessageContextFactory()
      Specified by:
      getMessageContextFactory in interface WSBinding
      Returns:
      A MessageContextFactory configured according to the binding's features.