Package org.opensaml.saml.common.binding

# Class BindingDescriptor

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
org.opensaml.saml.common.binding.BindingDescriptor

All Implemented Interfaces:
  `Predicate<ProfileRequestContext>`, `Component`, `DestructableComponent`, `IdentifiableComponent`, `IdentifiedComponent`, `InitializableComponent`

public class BindingDescriptor extends AbstractIdentifiableInitializableComponent implements Predicate<ProfileRequestContext>
A class that describes a SAML binding and encapsulates information required for profile actions to interact with them.

Configuration logic should expose the usable bindings to profile actions through instances of this class.

## Field Summary

Fields
Modifier and Type
Field
Description
`private Predicate<ProfileRequestContext>`
`activationCondition`
Predicate that must be true for this flow to be usable for a given request.
`private boolean`
`artifact`
Identifies a binding that relies on SAML artifacts.
`private String`
`shortName`
A short name for the binding.
`private boolean`
`signatureCapable`
Indicates whether the binding provides a built-in signing mechanism.
`private boolean`
`synchronous`
Identifies a binding that is direct request/response between two parties (i.e., SOAP).

## Constructor Summary

Constructors
Constructor
Description
`BindingDescriptor()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
`String`
`getShortName()`
Get a short/concise name for the binding.
`int`
`hashCode()`
`boolean`
`isArtifact()`
Get whether the binding is artifact-based.
`boolean`
`isSignatureCapable()`
Get whether the binding provides a message signature capability.
`boolean`
`isSynchronous()`
Get whether the binding is synchronous (direct request/response, typically SOAP).
`void`
`setActivationCondition(Predicate<ProfileRequestContext> condition)`
Set the activation condition in the form of a `Predicate` such that iff the condition evaluates to true should the corresponding binding be allowed/possible.
`void`
`setArtifact(boolean flag)`
Set whether the binding is artifact-based.
`void`
`setShortName(String name)`
Set a short/concise name for the binding.
`void`
`setSignatureCapable(boolean flag)`
Set whether the binding provides a message signature capability.
`void`
`setSynchronous(boolean flag)`
Set whether the binding is synchronous (direct request/response, typically SOAP).
`boolean`
`test(ProfileRequestContext input)`
`String`
`toString()`

### Methods inherited from class net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent

`setId`

### Methods inherited from class net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent

`doInitialize, ensureId, getId, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, initialize, isDestroyed, isInitialized`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface net.shibboleth.shared.component.IdentifiedComponent

`getId`

### Methods inherited from interface java.util.function.Predicate

`and, negate, or`

## Field Details

### activationCondition

@Nonnull private Predicate<ProfileRequestContext> activationCondition
Predicate that must be true for this flow to be usable for a given request.

### synchronous

private boolean synchronous
Identifies a binding that is direct request/response between two parties (i.e., SOAP).

### artifact

private boolean artifact
Identifies a binding that relies on SAML artifacts.

### signatureCapable

private boolean signatureCapable
Indicates whether the binding provides a built-in signing mechanism.

### shortName

@Nullable @NotEmpty private String shortName
A short name for the binding.

## Constructor Details

### BindingDescriptor

public BindingDescriptor()
Constructor.

## Method Details

### setActivationCondition

public void setActivationCondition(@Nonnull Predicate<ProfileRequestContext> condition)
Set the activation condition in the form of a `Predicate` such that iff the condition evaluates to true should the corresponding binding be allowed/possible.

Parameters:
  `condition` - predicate that controls activation of the binding

### isSynchronous

public boolean isSynchronous()
Get whether the binding is synchronous (direct request/response, typically SOAP).

Returns:
  true iff the binding is synchronous

### setSynchronous

public void setSynchronous(boolean flag)
Set whether the binding is synchronous (direct request/response, typically SOAP).

Parameters:
  `flag` - flag to set

### isArtifact

public boolean isArtifact()
Get whether the binding is artifact-based.

Returns:
  true iff the binding is artifact-based

### setArtifact

public void setArtifact(boolean flag)
Set whether the binding is artifact-based.

Parameters:
  `flag` - flag to set

### isSignatureCapable

public boolean isSignatureCapable()
Get whether the binding provides a message signature capability.

Returns:
  true iff the binding provides a message signature capability

### setSignatureCapable

public void setSignatureCapable(boolean flag)
Set whether the binding provides a message signature capability.

Parameters:
  `flag` - flag to set

### getShortName

@Nullable @NotEmpty public String getShortName()
Get a short/concise name for the binding.

Returns:
  the short name

### setShortName

public void setShortName(@Nullable @NotEmpty String name)
Set a short/concise name for the binding.

Parameters:
  `name` - name to set

### test

public boolean test(@Nullable ProfileRequestContext input)

Specified by:
  `test` in interface `Predicate<ProfileRequestContext>`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### equals

public boolean equals(Object obj)

Overrides:
  `equals` in class `Object`

### toString

public String toString()

Overrides:
  `toString` in class `Object`