Package com.sun.xml.ws.binding
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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classBindingImpl.MessageKeyExperimental: Identify messages based on the name of the message and the operation that uses this message.
-
Field Summary
Fields Modifier and Type Field Description protected static jakarta.xml.ws.WebServiceFeature[]EMPTY_FEATURESprotected Map<BindingImpl.MessageKey,WebServiceFeatureList>faultMessageFeaturesprotected WebServiceFeatureListfeaturesprotected Map<QName,WebServiceFeatureList>inputMessageFeaturesprotected MessageContextFactorymessageContextFactoryprotected Map<QName,WebServiceFeatureList>operationFeaturesprotected Map<QName,WebServiceFeatureList>outputMessageFeaturesprotected jakarta.xml.ws.Service.ModeserviceMode
-
Constructor Summary
Constructors Modifier Constructor Description protectedBindingImpl(BindingID bindingId, jakarta.xml.ws.WebServiceFeature... features)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddKnownHeader(QName headerQName)Adds header QName to set known to be supported by this bindingstatic BindingImplcreate(BindingID bindingId)static BindingImplcreate(BindingID bindingId, jakarta.xml.ws.WebServiceFeature[] features)CodeccreateCodec()AddressingVersiongetAddressingVersion()Gets the WS-Addressing version of this binding.BindingIDgetBindingId()Gets the binding ID, which uniquely identifies the binding.StringgetBindingID()static WSBindinggetDefaultBinding()WebServiceFeatureListgetFaultMessageFeatures(QName operationName, QName messageName)Experimental: Returns a list of features associated withWSBindingthat apply to one of the fault messages of an operation.<F extends jakarta.xml.ws.WebServiceFeature>
FgetFeature(Class<F> featureType)Gets aWebServiceFeatureof the specific type.WebServiceFeatureListgetFeatures()Returns a list of features associated withWSBinding.List<jakarta.xml.ws.handler.Handler>getHandlerChain()HandlerConfigurationgetHandlerConfig()WebServiceFeatureListgetInputMessageFeatures(QName operationName)Experimental: Returns a list of features associated withWSBindingthat apply to the input message of an operation.Set<QName>getKnownHeaders()Returns set of header QNames known to be supported by this binding.MessageContextFactorygetMessageContextFactory()<F extends jakarta.xml.ws.WebServiceFeature>
FgetOperationFeature(Class<F> featureType, QName operationName)Experimental: Gets aWebServiceFeatureof the specific type that applies to an operation.WebServiceFeatureListgetOperationFeatures(QName operationName)Experimental: Returns a list of features associated withWSBindingthat apply to a particular operation.WebServiceFeatureListgetOutputMessageFeatures(QName operationName)Experimental: Returns a list of features associated withWSBindingthat apply to the output message of an operation.SOAPVersiongetSOAPVersion()Gets the SOAP version of this binding.static voidinitializeJavaActivationHandlers()booleanisFeatureEnabled(Class<? extends jakarta.xml.ws.WebServiceFeature> feature)Checks if a particularWebServiceFeatureis enabled.booleanisOperationFeatureEnabled(Class<? extends jakarta.xml.ws.WebServiceFeature> featureType, QName operationName)Experimental: Checks if a particularWebServiceFeatureon an operation is enabled.voidsetFaultMessageFeatures(QName operationName, QName messageName, jakarta.xml.ws.WebServiceFeature... newFeatures)protected voidsetHandlerConfig(HandlerConfiguration handlerConfig)voidsetInputMessageFeatures(QName operationName, jakarta.xml.ws.WebServiceFeature... newFeatures)voidsetMode(jakarta.xml.ws.Service.Mode mode)voidsetOperationFeatures(QName operationName, jakarta.xml.ws.WebServiceFeature... newFeatures)voidsetOutputMessageFeatures(QName operationName, jakarta.xml.ws.WebServiceFeature... newFeatures)
-
-
-
Field Detail
-
EMPTY_FEATURES
protected static final jakarta.xml.ws.WebServiceFeature[] EMPTY_FEATURES
-
features
protected final WebServiceFeatureList features
-
operationFeatures
protected final Map<QName,WebServiceFeatureList> operationFeatures
-
inputMessageFeatures
protected final Map<QName,WebServiceFeatureList> inputMessageFeatures
-
outputMessageFeatures
protected final Map<QName,WebServiceFeatureList> outputMessageFeatures
-
faultMessageFeatures
protected final Map<BindingImpl.MessageKey,WebServiceFeatureList> faultMessageFeatures
-
serviceMode
protected jakarta.xml.ws.Service.Mode serviceMode
-
messageContextFactory
protected MessageContextFactory messageContextFactory
-
-
Constructor Detail
-
BindingImpl
protected BindingImpl(BindingID bindingId, jakarta.xml.ws.WebServiceFeature... features)
-
-
Method Detail
-
getHandlerChain
@NotNull public List<jakarta.xml.ws.handler.Handler> getHandlerChain()
- Specified by:
getHandlerChainin interfacejakarta.xml.ws.Binding- Specified by:
getHandlerChainin interfaceWSBinding
-
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:WSBindingReturns set of header QNames known to be supported by this binding.- Specified by:
getKnownHeadersin interfaceWSBinding- Returns:
- Set of known QNames
-
addKnownHeader
public boolean addKnownHeader(QName headerQName)
Description copied from interface:WSBindingAdds header QName to set known to be supported by this binding- Specified by:
addKnownHeaderin interfaceWSBinding- 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:WSBindingGets 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:
getBindingIdin interfaceWSBinding- Returns:
- Always non-null same value.
-
getSOAPVersion
public final SOAPVersion getSOAPVersion()
Description copied from interface:WSBindingGets the SOAP version of this binding. TODO: clarify what to do with XML/HTTP bindingThis is just a short-cut for
getBindingID().getSOAPVersion()- Specified by:
getSOAPVersionin interfaceWSBinding- Returns:
- If the binding is using SOAP, this method returns
a
SOAPVersionconstant. If the binding is not based on SOAP, this method returns null. SeeMessagefor how a non-SOAP binding shall be handled byTubes.
-
getAddressingVersion
public AddressingVersion getAddressingVersion()
Description copied from interface:WSBindingGets the WS-Addressing version of this binding.
TODO: clarify what to do with XML/HTTP binding- Specified by:
getAddressingVersionin interfaceWSBinding- Returns:
- If the binding is using SOAP and WS-Addressing is enabled,
this method returns a
AddressingVersionconstant. 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:
getBindingIDin interfacejakarta.xml.ws.Binding
-
getFeature
@Nullable public <F extends jakarta.xml.ws.WebServiceFeature> F getFeature(@NotNull Class<F> featureType)Description copied from interface:WSBindingGets aWebServiceFeatureof the specific type.- Specified by:
getFeaturein interfaceWSBinding- 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:WSBindingExperimental: Gets aWebServiceFeatureof the specific type that applies to an operation.- Specified by:
getOperationFeaturein interfaceWSBinding- 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:WSBindingChecks if a particularWebServiceFeatureis enabled.- Specified by:
isFeatureEnabledin interfaceWSBinding- Returns:
- true if enabled.
-
isOperationFeatureEnabled
public boolean isOperationFeatureEnabled(@NotNull Class<? extends jakarta.xml.ws.WebServiceFeature> featureType, @NotNull QName operationName)Description copied from interface:WSBindingExperimental: Checks if a particularWebServiceFeatureon an operation is enabled.- Specified by:
isOperationFeatureEnabledin interfaceWSBindingoperationName- The WSDL name of the operation.- Returns:
- true if enabled.
-
getFeatures
@NotNull public WebServiceFeatureList getFeatures()
Description copied from interface:WSBindingReturns a list of features associated withWSBinding.- Specified by:
getFeaturesin interfaceWSBinding
-
getOperationFeatures
@NotNull public WebServiceFeatureList getOperationFeatures(@NotNull QName operationName)
Description copied from interface:WSBindingExperimental: Returns a list of features associated withWSBindingthat apply to a particular operation.- Specified by:
getOperationFeaturesin interfaceWSBinding- Parameters:
operationName- The WSDL name of the operation.
-
getInputMessageFeatures
@NotNull public WebServiceFeatureList getInputMessageFeatures(@NotNull QName operationName)
Description copied from interface:WSBindingExperimental: Returns a list of features associated withWSBindingthat apply to the input message of an operation.- Specified by:
getInputMessageFeaturesin interfaceWSBinding- Parameters:
operationName- The WSDL name of the operation.
-
getOutputMessageFeatures
@NotNull public WebServiceFeatureList getOutputMessageFeatures(@NotNull QName operationName)
Description copied from interface:WSBindingExperimental: Returns a list of features associated withWSBindingthat apply to the output message of an operation.- Specified by:
getOutputMessageFeaturesin interfaceWSBinding- Parameters:
operationName- The WSDL name of the operation.
-
getFaultMessageFeatures
@NotNull public WebServiceFeatureList getFaultMessageFeatures(@NotNull QName operationName, @NotNull QName messageName)
Description copied from interface:WSBindingExperimental: Returns a list of features associated withWSBindingthat apply to one of the fault messages of an operation.- Specified by:
getFaultMessageFeaturesin interfaceWSBinding- 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:
getMessageContextFactoryin interfaceWSBinding- Returns:
- A MessageContextFactory configured according to the binding's features.
-
-