Class BindingImpl

  • All Implemented Interfaces:
    WSBinding, 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
    • Method Detail

      • setMode

        public void setMode​(@NotNull
                            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()
      • getDefaultBinding

        public static WSBinding getDefaultBinding()
      • getFeature

        @Nullable
        public <F extends 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 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.
      • 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,
                                         WebServiceFeature... newFeatures)
      • setInputMessageFeatures

        public void setInputMessageFeatures​(@NotNull
                                            QName operationName,
                                            WebServiceFeature... newFeatures)
      • setOutputMessageFeatures

        public void setOutputMessageFeatures​(@NotNull
                                             QName operationName,
                                             WebServiceFeature... newFeatures)
      • setFaultMessageFeatures

        public void setFaultMessageFeatures​(@NotNull
                                            QName operationName,
                                            @NotNull
                                            QName messageName,
                                            WebServiceFeature... newFeatures)