Class SAML2SPSessionSerializer
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
net.shibboleth.idp.session.AbstractSPSessionSerializer
net.shibboleth.idp.saml.session.impl.SAML2SPSessionSerializer
- All Implemented Interfaces:
Component
,DestructableComponent
,InitializableComponent
,StorageSerializer<SPSession>
@ThreadSafeAfterInit public class SAML2SPSessionSerializer extends AbstractSPSessionSerializer
A serializer for
SAML2SPSession
objects.-
Field Summary
Fields Modifier and Type Field Description private static String
NAMEID_FIELD
Field name of NameID.private static Map<String,Object>
NO_XML_DECL_PARAMS
DOM configuration parameters used by LSSerializer to exclude XML declaration.private ParserPool
parserPool
Parser for NameID fields.private static String
SESSION_INDEX_FIELD
Field name of SessionIndex. -
Constructor Summary
Constructors Constructor Description SAML2SPSessionSerializer(Duration offset)
Constructor. -
Method Summary
Modifier and Type Method Description protected SPSession
doDeserialize(javax.json.JsonObject obj, String id, Instant creation, Instant expiration)
Implement this method to return the appropriate type of object, populated with the basic information supplied.protected void
doSerializeAdditional(SPSession instance, javax.json.stream.JsonGenerator generator)
Override this method to handle serialization of additional data.void
setParserPool(ParserPool pool)
Set theParserPool
to use.Methods inherited from class net.shibboleth.idp.session.AbstractSPSessionSerializer
deserialize, serialize
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
-
NAMEID_FIELD
Field name of NameID.- See Also:
- Constant Field Values
-
SESSION_INDEX_FIELD
Field name of SessionIndex.- See Also:
- Constant Field Values
-
NO_XML_DECL_PARAMS
DOM configuration parameters used by LSSerializer to exclude XML declaration. -
parserPool
Parser for NameID fields.
-
-
Constructor Details
-
SAML2SPSessionSerializer
Constructor.- Parameters:
offset
- time to subtract from record expiration to establish session expiration value
-
-
Method Details
-
setParserPool
Set theParserPool
to use.- Parameters:
pool
- parser source
-
doSerializeAdditional
protected void doSerializeAdditional(@Nonnull SPSession instance, @Nonnull javax.json.stream.JsonGenerator generator)Override this method to handle serialization of additional data.The serialization "context" is the continuation of a JSON struct.
- Overrides:
doSerializeAdditional
in classAbstractSPSessionSerializer
- Parameters:
instance
- object to serializegenerator
- JSON generator to write to
-
doDeserialize
@Nonnull protected SPSession doDeserialize(@Nonnull javax.json.JsonObject obj, @Nonnull @NotEmpty String id, @Nonnull Instant creation, @Nonnull Instant expiration) throws IOExceptionImplement this method to return the appropriate type of object, populated with the basic information supplied.The JSON object supplied is a structure that may contain additional data created by the concrete subclass during serialization.
- Specified by:
doDeserialize
in classAbstractSPSessionSerializer
- Parameters:
obj
- JSON structure to parseid
- the identifier of the service associated with this sessioncreation
- creation time of sessionexpiration
- expiration time of session- Returns:
- the newly constructed object
- Throws:
IOException
- if an error occurs during deserialization
-