public abstract class BindingImpl extends Object implements WSBinding
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.
Modifier and Type | Class and Description |
---|---|
protected static class |
BindingImpl.MessageKey
Experimental: Identify messages based on the name of the message and the
operation that uses this message.
|
Modifier and Type | Field and Description |
---|---|
protected static WebServiceFeature[] |
EMPTY_FEATURES |
protected Map<BindingImpl.MessageKey,WebServiceFeatureList> |
faultMessageFeatures |
protected WebServiceFeatureList |
features |
protected Map<QName,WebServiceFeatureList> |
inputMessageFeatures |
protected com.oracle.webservices.api.message.MessageContextFactory |
messageContextFactory |
protected Map<QName,WebServiceFeatureList> |
operationFeatures |
protected Map<QName,WebServiceFeatureList> |
outputMessageFeatures |
protected Service.Mode |
serviceMode |
Modifier | Constructor and Description |
---|---|
protected |
BindingImpl(BindingID bindingId,
WebServiceFeature... features) |
Modifier and Type | Method and Description |
---|---|
boolean |
addKnownHeader(QName headerQName)
Adds header QName to set known to be supported by this binding
|
static BindingImpl |
create(BindingID bindingId) |
static BindingImpl |
create(BindingID bindingId,
WebServiceFeature[] features) |
Codec |
createCodec() |
AddressingVersion |
getAddressingVersion()
Gets the WS-Addressing version of this binding.
|
BindingID |
getBindingId()
Gets the binding ID, which uniquely identifies the binding.
|
String |
getBindingID() |
static WSBinding |
getDefaultBinding() |
WebServiceFeatureList |
getFaultMessageFeatures(QName operationName,
QName messageName)
Experimental: Returns a list of features associated with
WSBinding that apply to
one of the fault messages of an operation. |
<F extends WebServiceFeature> |
getFeature(Class<F> featureType)
Gets a
WebServiceFeature of the specific type. |
WebServiceFeatureList |
getFeatures()
Returns a list of features associated with
WSBinding . |
List<Handler> |
getHandlerChain() |
HandlerConfiguration |
getHandlerConfig() |
WebServiceFeatureList |
getInputMessageFeatures(QName operationName)
Experimental: Returns a list of features associated with
WSBinding that apply to
the input message of an operation. |
Set<QName> |
getKnownHeaders()
Returns set of header QNames known to be supported by this binding.
|
com.oracle.webservices.api.message.MessageContextFactory |
getMessageContextFactory() |
<F extends WebServiceFeature> |
getOperationFeature(Class<F> featureType,
QName operationName)
Experimental: Gets a
WebServiceFeature of the specific type that applies to an operation. |
WebServiceFeatureList |
getOperationFeatures(QName operationName)
Experimental: Returns a list of features associated with
WSBinding that apply to
a particular operation. |
WebServiceFeatureList |
getOutputMessageFeatures(QName operationName)
Experimental: Returns a list of features associated with
WSBinding that apply to
the output message of an operation. |
SOAPVersion |
getSOAPVersion()
Gets the SOAP version of this binding.
|
static void |
initializeJavaActivationHandlers() |
boolean |
isFeatureEnabled(Class<? extends WebServiceFeature> feature)
Checks if a particular
WebServiceFeature is enabled. |
boolean |
isOperationFeatureEnabled(Class<? extends WebServiceFeature> featureType,
QName operationName)
Experimental: Checks if a particular
WebServiceFeature on an operation is enabled. |
void |
setFaultMessageFeatures(QName operationName,
QName messageName,
WebServiceFeature... newFeatures) |
protected void |
setHandlerConfig(HandlerConfiguration handlerConfig) |
void |
setInputMessageFeatures(QName operationName,
WebServiceFeature... newFeatures) |
void |
setMode(Service.Mode mode) |
void |
setOperationFeatures(QName operationName,
WebServiceFeature... newFeatures) |
void |
setOutputMessageFeatures(QName operationName,
WebServiceFeature... newFeatures) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setHandlerChain
protected static final WebServiceFeature[] EMPTY_FEATURES
protected final WebServiceFeatureList features
protected final Map<QName,WebServiceFeatureList> operationFeatures
protected final Map<QName,WebServiceFeatureList> inputMessageFeatures
protected final Map<QName,WebServiceFeatureList> outputMessageFeatures
protected final Map<BindingImpl.MessageKey,WebServiceFeatureList> faultMessageFeatures
protected Service.Mode serviceMode
protected com.oracle.webservices.api.message.MessageContextFactory messageContextFactory
protected BindingImpl(BindingID bindingId, WebServiceFeature... features)
@NotNull public List<Handler> getHandlerChain()
getHandlerChain
in interface WSBinding
getHandlerChain
in interface Binding
public HandlerConfiguration getHandlerConfig()
protected void setHandlerConfig(HandlerConfiguration handlerConfig)
public void setMode(@NotNull Service.Mode mode)
public Set<QName> getKnownHeaders()
WSBinding
getKnownHeaders
in interface WSBinding
public boolean addKnownHeader(QName headerQName)
WSBinding
addKnownHeader
in interface WSBinding
headerQName
- Known header QName@NotNull public BindingID getBindingId()
WSBinding
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, ...)
getBindingId
in interface WSBinding
public final SOAPVersion getSOAPVersion()
WSBinding
This is just a short-cut for getBindingID().getSOAPVersion()
getSOAPVersion
in interface WSBinding
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 Tube
s.public AddressingVersion getAddressingVersion()
WSBinding
getAddressingVersion
in interface WSBinding
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.@NotNull public final Codec createCodec()
public static void initializeJavaActivationHandlers()
public static BindingImpl create(@NotNull BindingID bindingId)
public static BindingImpl create(@NotNull BindingID bindingId, WebServiceFeature[] features)
public static WSBinding getDefaultBinding()
public String getBindingID()
getBindingID
in interface Binding
@Nullable public <F extends WebServiceFeature> F getFeature(@NotNull Class<F> featureType)
WSBinding
WebServiceFeature
of the specific type.getFeature
in interface WSBinding
featureType
- The type of the feature to retrieve.@Nullable public <F extends WebServiceFeature> F getOperationFeature(@NotNull Class<F> featureType, @NotNull QName operationName)
WSBinding
WebServiceFeature
of the specific type that applies to an operation.getOperationFeature
in interface WSBinding
featureType
- The type of the feature to retrieve.operationName
- The WSDL name of the operation.public boolean isFeatureEnabled(@NotNull Class<? extends WebServiceFeature> feature)
WSBinding
WebServiceFeature
is enabled.isFeatureEnabled
in interface WSBinding
public boolean isOperationFeatureEnabled(@NotNull Class<? extends WebServiceFeature> featureType, @NotNull QName operationName)
WSBinding
WebServiceFeature
on an operation is enabled.isOperationFeatureEnabled
in interface WSBinding
operationName
- The WSDL name of the operation.@NotNull public WebServiceFeatureList getFeatures()
WSBinding
WSBinding
.getFeatures
in interface WSBinding
@NotNull public WebServiceFeatureList getOperationFeatures(@NotNull QName operationName)
WSBinding
WSBinding
that apply to
a particular operation.getOperationFeatures
in interface WSBinding
operationName
- The WSDL name of the operation.@NotNull public WebServiceFeatureList getInputMessageFeatures(@NotNull QName operationName)
WSBinding
WSBinding
that apply to
the input message of an operation.getInputMessageFeatures
in interface WSBinding
operationName
- The WSDL name of the operation.@NotNull public WebServiceFeatureList getOutputMessageFeatures(@NotNull QName operationName)
WSBinding
WSBinding
that apply to
the output message of an operation.getOutputMessageFeatures
in interface WSBinding
operationName
- The WSDL name of the operation.@NotNull public WebServiceFeatureList getFaultMessageFeatures(@NotNull QName operationName, @NotNull QName messageName)
WSBinding
WSBinding
that apply to
one of the fault messages of an operation.getFaultMessageFeatures
in interface WSBinding
operationName
- The WSDL name of the operation.messageName
- The WSDL name of the fault message.public void setOperationFeatures(@NotNull QName operationName, WebServiceFeature... newFeatures)
public void setInputMessageFeatures(@NotNull QName operationName, WebServiceFeature... newFeatures)
public void setOutputMessageFeatures(@NotNull QName operationName, WebServiceFeature... newFeatures)
public void setFaultMessageFeatures(@NotNull QName operationName, @NotNull QName messageName, WebServiceFeature... newFeatures)
@NotNull public com.oracle.webservices.api.message.MessageContextFactory getMessageContextFactory()
getMessageContextFactory
in interface WSBinding
Copyright © 2015 Oracle Corporation. All rights reserved.