@ThreadSafe public abstract class AbstractSPSessionSerializer extends AbstractInitializableComponent implements StorageSerializer<SPSession>
SPSession serializers that handles data common to all such objects.| Modifier and Type | Field and Description |
|---|---|
private static String |
CREATION_INSTANT_FIELD
Field name of creation instant.
|
private long |
expirationOffset
Milliseconds to subtract from record expiration to establish session expiration value.
|
private org.slf4j.Logger |
log
Class logger.
|
private static String |
SERVICE_ID_FIELD
Field name of service ID.
|
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractSPSessionSerializer(long offset)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
SPSession |
deserialize(long version,
String context,
String key,
String value,
Long expiration) |
protected abstract SPSession |
doDeserialize(javax.json.JsonObject obj,
String id,
long creation,
long 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.
|
String |
serialize(SPSession instance) |
destroy, doDestroy, doInitialize, initialize, isDestroyed, isInitializedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitinitialize, isInitialized@Nonnull @NotEmpty private static final String SERVICE_ID_FIELD
@Nonnull @NotEmpty private static final String CREATION_INSTANT_FIELD
@Nonnull private final org.slf4j.Logger log
@Duration @NonNegative private final long expirationOffset
protected AbstractSPSessionSerializer(@Duration@NonNegative long offset)
offset - milliseconds to subtract from record expiration to establish session expiration value@Nonnull @NotEmpty public String serialize(@Nonnull SPSession instance) throws IOException
serialize in interface StorageSerializer<SPSession>IOException@Nonnull public SPSession deserialize(long version, @Nonnull@NotEmpty String context, @Nonnull@NotEmpty String key, @Nonnull@NotEmpty String value, @Nullable Long expiration) throws IOException
deserialize in interface StorageSerializer<SPSession>IOExceptionprotected void doSerializeAdditional(@Nonnull SPSession instance, @Nonnull javax.json.stream.JsonGenerator generator)
The serialization "context" is the continuation of a JSON struct.
instance - object to serializegenerator - JSON generator to write to@Nonnull @Duration protected abstract SPSession doDeserialize(@Nonnull javax.json.JsonObject obj, @Nonnull@NotEmpty String id, @Duration@Positive long creation, @Duration@Positive long expiration) throws IOException
The JSON object supplied is a structure that may contain additional data created by the concrete subclass during serialization.
obj - JSON structure to parseid - the identifier of the service associated with this sessioncreation - creation time of session, in milliseconds since the epochexpiration - expiration time of session, in milliseconds since the epochIOException - if an error occurs during deserializationCopyright © 1999–2018 Shibboleth Consortium. All rights reserved.