Package net.shibboleth.idp.saml.nameid.impl

# Class BaseCryptoTransientDecoder

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
net.shibboleth.idp.saml.nameid.impl.BaseCryptoTransientDecoder

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `IdentifiableComponent`, `IdentifiedComponent`, `InitializableComponent`

Direct Known Subclasses:
  `CryptoTransientNameIDDecoder`, `CryptoTransientNameIdentifierDecoder`

public abstract class BaseCryptoTransientDecoder extends AbstractIdentifiableInitializableComponent
An abstract action which contains the logic to do crypto transient decoding matching. This reverses the work done by `CryptoTransientIdGenerationStrategy`

## Field Summary

Fields
Modifier and Type
Field
Description
`private DataSealer`
`dataSealer`
Object used to protect and encrypt the data.
`private final org.slf4j.Logger`
`log`
Class logger.
`private String`
`logPrefix`
cache for the log prefix - to save multiple recalculations.

## Constructor Summary

Constructors
Constructor
Description
`BaseCryptoTransientDecoder()`

## Method Summary

Modifier and Type
Method
Description
`protected String`
`decode(String transientId, String requesterId)`
Convert the transient Id into the principal.
`protected void`
`doInitialize()`
`DataSealer`
`getDataSealer()`
Get the Data Sealer we are using.
`protected String`
`getLogPrefix()`
Return a prefix for logging messages for this component.
`void`
`setDataSealer(DataSealer sealer)`
Set the Data Sealer we should use.

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

`setId`

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

`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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

`getId`

## Field Details

### log

@Nonnull private final org.slf4j.Logger log
Class logger.

### dataSealer

@Nullable private DataSealer dataSealer
Object used to protect and encrypt the data.

### logPrefix

@Nullable private String logPrefix
cache for the log prefix - to save multiple recalculations.

## Constructor Details

### BaseCryptoTransientDecoder

public BaseCryptoTransientDecoder()

## Method Details

### getDataSealer

@Nullable public DataSealer getDataSealer()
Get the Data Sealer we are using.

Returns:
  the Data Sealer we are using.

### setDataSealer

public void setDataSealer(@Nullable DataSealer sealer)
Set the Data Sealer we should use.

Parameters:
  `sealer` - the Data Sealer to use.

### doInitialize

protected void doInitialize() throws ComponentInitializationException

Overrides:
  `doInitialize` in class `AbstractIdentifiedInitializableComponent`
Throws:
  `ComponentInitializationException`

### decode

@Nullable @NotEmpty protected String decode(@Nonnull String transientId, @Nonnull @NotEmpty String requesterId)
Convert the transient Id into the principal.

Parameters:
  `transientId` - the encrypted transientID
  `requesterId` - the requester ID
Returns:
  the decoded entity.

### getLogPrefix

@Nonnull @NotEmpty protected String getLogPrefix()
Return a prefix for logging messages for this component.

Returns:
  a string for insertion at the beginning of any log messages