Class AddTimestampHandler
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
org.opensaml.messaging.handler.AbstractMessageHandler
org.opensaml.soap.messaging.AbstractHeaderGeneratingMessageHandler
org.opensaml.soap.wssecurity.messaging.impl.AddTimestampHandler
- All Implemented Interfaces:
Component
,DestructableComponent
,InitializableComponent
,MessageHandler
Handler implementation that adds a wsse:Timestamp header to the wsse:Security header
of the outbound SOAP envelope.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Function<MessageContext,
Instant> Context lookup function for the Created time.private Instant
The effective Created value to use.private Function<MessageContext,
Instant> Context lookup function for the Expires time.private Duration
Parameter indicating the offset from Created used to calculate the Expires time, if no Expires value is explicitly supplied via the other supported mechanisms.private Instant
The effective Expires value to use.private org.slf4j.Logger
Logger.private boolean
Flag indicating whether to use the current time as the Created time, if no value is explicitly supplied by the other supported mechanisms. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doInvoke
(MessageContext messageContext) Performs the handler logic.protected boolean
doPreInvoke
(MessageContext messageContext) Called prior to execution, handlers may override this method to perform pre-processing for a request.Get the context lookup function for the Created time.protected Instant
getCreatedValue
(MessageContext messageContext) Get the Created value.Get the context lookup function for the Expires time.Get the parameter indicating the offset from Created used to calculate the Expires time, if no Expires value is explicitly supplied via the other supported mechanisms.protected Instant
getExpiresValue
(MessageContext messageContext, Instant created) Get the Expires value.boolean
Get the flag indicating whether to use the current time as the Created time, if no value is explicitly supplied by the other supported mechanisms.void
setCreatedLookup
(Function<MessageContext, Instant> lookup) Set the context lookup function for the Created time.void
setExpiresLookup
(Function<MessageContext, Instant> lookup) Set the context lookup function for the Expires time.void
Set the parameter indicating the offset from Created used to calculate the Expires time, if no Expires value is explicitly supplied via the other supported mechanisms.void
setUseCurrentTimeAsDefaultCreated
(boolean flag) Set the flag indicating whether to use the current time as the Created time, if no value is explicitly supplied by the other supported mechanisms.Methods inherited from class org.opensaml.soap.messaging.AbstractHeaderGeneratingMessageHandler
decorateGeneratedHeader, getEffectiveTargetNode, isEffectiveMustUnderstand, setMustUnderstand, setMustUnderstandStrategy, setTargetNode, setTargetNodeStrategy
Methods inherited from class org.opensaml.messaging.handler.AbstractMessageHandler
doPostInvoke, doPostInvoke, getActivationCondition, getLogPrefix, invoke, setActivationCondition
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, doInitialize, 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.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
Field Details
-
log
@Nonnull private org.slf4j.Logger logLogger. -
createdLookup
Context lookup function for the Created time. -
expiresLookup
Context lookup function for the Expires time. -
useCurrentTimeAsDefaultCreated
private boolean useCurrentTimeAsDefaultCreatedFlag indicating whether to use the current time as the Created time, if no value is explicitly supplied by the other supported mechanisms. -
expiresOffsetFromCreated
Parameter indicating the offset from Created used to calculate the Expires time, if no Expires value is explicitly supplied via the other supported mechanisms. -
createdValue
The effective Created value to use. -
expiresValue
The effective Expires value to use.
-
-
Constructor Details
-
AddTimestampHandler
public AddTimestampHandler()
-
-
Method Details
-
getCreatedLookup
Get the context lookup function for the Created time.- Returns:
- the lookup function
-
setCreatedLookup
Set the context lookup function for the Created time.- Parameters:
lookup
- the lookup function
-
getExpiresLookup
Get the context lookup function for the Expires time.- Returns:
- the lookup function
-
setExpiresLookup
Set the context lookup function for the Expires time.- Parameters:
lookup
- the lookup function
-
isUseCurrentTimeAsDefaultCreated
public boolean isUseCurrentTimeAsDefaultCreated()Get the flag indicating whether to use the current time as the Created time, if no value is explicitly supplied by the other supported mechanisms.- Returns:
- true if should use current time, false if not
-
setUseCurrentTimeAsDefaultCreated
public void setUseCurrentTimeAsDefaultCreated(boolean flag) Set the flag indicating whether to use the current time as the Created time, if no value is explicitly supplied by the other supported mechanisms.- Parameters:
flag
- true if should use currnet time, false if not
-
getExpiresOffsetFromCreated
Get the parameter indicating the offset from Created used to calculate the Expires time, if no Expires value is explicitly supplied via the other supported mechanisms.- Returns:
- the expires offset, or null
-
setExpiresOffsetFromCreated
Set the parameter indicating the offset from Created used to calculate the Expires time, if no Expires value is explicitly supplied via the other supported mechanisms.- Parameters:
value
- the expires offset, or null
-
doPreInvoke
protected boolean doPreInvoke(@Nonnull MessageContext messageContext) throws MessageHandlerException Called prior to execution, handlers may override this method to perform pre-processing for a request.The default impl applies the
Predicate
set via theAbstractMessageHandler.setActivationCondition(Predicate)
.If false is returned, execution will not proceed.
Subclasses which override this method should generally invoke the super version of this method first, so that the activation condition will be applied up front, and immediately return false if the super version returns false. This avoids unnecessary execution of the remaining pre-invocation code if the handler ultimately will not execute.
- Overrides:
doPreInvoke
in classAbstractHeaderGeneratingMessageHandler
- Parameters:
messageContext
- the message context on which to invoke the handler- Returns:
- true iff execution should proceed
- Throws:
MessageHandlerException
- if there is a problem executing the handler pre-routine
-
doInvoke
Performs the handler logic.- Specified by:
doInvoke
in classAbstractMessageHandler
- 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
-
getCreatedValue
Get the Created value.- Parameters:
messageContext
- the current message context- Returns:
- the effective Created DateTime value to use
-
getExpiresValue
@Nullable protected Instant getExpiresValue(@Nonnull MessageContext messageContext, @Nullable Instant created) Get the Expires value.- Parameters:
messageContext
- the current message contextcreated
- the created value, if any- Returns:
- the effective Expires DateTime value to use
-