Package org.opensaml.saml.common.binding.security.impl

# Class MessageReplaySecurityHandler

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.messaging.handler.AbstractMessageHandler
org.opensaml.saml.common.binding.security.impl.MessageReplaySecurityHandler

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `InitializableComponent`, `MessageHandler`

public class MessageReplaySecurityHandler extends AbstractMessageHandler
Security message handler implementation that which checks for replay of SAML messages.

## Field Summary

Fields
Modifier and Type
Field
Description
`private Duration`
`expires`
Time to expire cache entries.
`private final org.slf4j.Logger`
`log`
Logger.
`private ReplayCache`
`replayCache`
Message replay cache instance to use.
`private boolean`
`requiredRule`
Whether this rule is required to be met.

## Constructor Summary

Constructors
Constructor
Description
`MessageReplaySecurityHandler()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doInitialize()`
`protected void`
`doInvoke(MessageContext messageContext)`
Performs the handler logic.
`Duration`
`getExpires()`
Gets the lifetime of replay entries.
`ReplayCache`
`getReplayCache()`
Get the replay cache instance to use.
`void`
`setExpires(Duration exp)`
Sets the lifetime of replay entries.
`void`
`setReplayCache(ReplayCache cache)`
Set the replay cache instance to use.
`void`
`setRequiredRule(boolean flag)`
Set whether this rule is required to be met.

### Methods inherited from class org.opensaml.messaging.handler.AbstractMessageHandler

`doPostInvoke, doPostInvoke, doPreInvoke, getActivationCondition, getLogPrefix, invoke, isPreInvokeCalled, setActivationCondition`

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

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, 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.InitializableComponent

`initialize, isInitialized`

## Field Details

### log

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

### replayCache

@NonnullAfterInit private ReplayCache replayCache
Message replay cache instance to use.

### requiredRule

private boolean requiredRule
Whether this rule is required to be met.

### expires

@Nonnull private Duration expires
Time to expire cache entries. Default value: (3 minutes)

## Constructor Details

### MessageReplaySecurityHandler

public MessageReplaySecurityHandler()
Constructor.

## Method Details

### getReplayCache

@NonnullAfterInit public ReplayCache getReplayCache()
Get the replay cache instance to use.

Returns:
  Returns the replayCache.

### setReplayCache

public void setReplayCache(@Nonnull ReplayCache cache)
Set the replay cache instance to use.

Parameters:
  `cache` - The replayCache to set.

### setRequiredRule

public void setRequiredRule(boolean flag)
Set whether this rule is required to be met.

Parameters:
  `flag` - flag to set

### getExpires

@Nonnull public Duration getExpires()
Gets the lifetime of replay entries.

Returns:
  lifetime of entries

### setExpires

public void setExpires(@Nonnull Duration exp)
Sets the lifetime of replay entries.

Parameters:
  `exp` - lifetime of entries

### doInitialize

protected void doInitialize() throws ComponentInitializationException

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

### doInvoke

protected void doInvoke(@Nonnull MessageContext messageContext) throws MessageHandlerException
Performs the handler logic.

Specified by:
  `doInvoke` in class `AbstractMessageHandler`
Parameters:
  `messageContext` - the message context on which to invoke the handler
Throws:
  `MessageHandlerException` - if there is an error invoking the handler on the message context