Class AbstractTicketSerializer<T extends Ticket>
java.lang.Object
net.shibboleth.idp.cas.ticket.serialization.impl.AbstractTicketSerializer<T>
- Type Parameters:
T- type of ticket
- All Implemented Interfaces:
Component,InitializableComponent,StorageSerializer<T>
- Direct Known Subclasses:
ProxyGrantingTicketSerializer,ProxyTicketSerializer,ServiceTicketSerializer
public abstract class AbstractTicketSerializer<T extends Ticket>
extends Object
implements StorageSerializer<T>
Base class for ticket serializers that use a simple field-delimited serialization strategy.
Tickets are expected to be stored using the ticket ID as a key, so the ticket ID is not contained as part
of the serialized form.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final StringAuthentication instant field name.private static final StringAuthentication method field name.private static final StringConsented attribute IDs field name.private static final StringExpiration instant field name.private final JsonGeneratorFactoryJSON generator factory.private final org.slf4j.LoggerLogger instance.private static final StringAuthenticated canonical principal name field.private final JsonReaderFactoryJSON reader factory.private static final StringService field name.private static final StringSession ID field name.private static final StringSupplemental ticket state field name. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract TcreateTicket(JsonObject o, String id, String service, Instant expiry) Create a ticket.deserialize(long version, String context, String key, String value, Long expiration) voidbooleanprotected abstract voidserializeInternal(JsonGenerator generator, T ticket) Serialize a ticket.
-
Field Details
-
SERVICE_FIELD
Service field name.- See Also:
-
EXPIRATION_FIELD
Expiration instant field name.- See Also:
-
STATE_FIELD
Supplemental ticket state field name.- See Also:
-
SESSION_FIELD
Session ID field name.- See Also:
-
PRINCIPAL_FIELD
Authenticated canonical principal name field.- See Also:
-
AUTHN_INSTANT_FIELD
Authentication instant field name.- See Also:
-
AUTHN_METHOD_FIELD
Authentication method field name.- See Also:
-
CONSENTED_ATTRS_FIELD
Consented attribute IDs field name.- See Also:
-
logger
@Nonnull private final org.slf4j.Logger loggerLogger instance. -
generatorFactory
JSON generator factory. -
readerFactory
JSON reader factory.
-
-
Constructor Details
-
AbstractTicketSerializer
public AbstractTicketSerializer()
-
-
Method Details
-
initialize
- Specified by:
initializein interfaceInitializableComponent- Throws:
ComponentInitializationException
-
isInitialized
public boolean isInitialized()- Specified by:
isInitializedin interfaceInitializableComponent
-
serialize
- Specified by:
serializein interfaceStorageSerializer<T extends Ticket>- Throws:
IOException
-
deserialize
@Nonnull public T deserialize(long version, @Nonnull @NotEmpty String context, @Nonnull @NotEmpty String key, @Nonnull @NotEmpty String value, @Nullable Long expiration) throws IOException - Specified by:
deserializein interfaceStorageSerializer<T extends Ticket>- Throws:
IOException
-
createTicket
@Nonnull protected abstract T createTicket(@Nonnull JsonObject o, @Nonnull String id, @Nonnull String service, @Nonnull Instant expiry) Create a ticket.- Parameters:
o- JSON objectid- ticket IDservice- service that requested the ticketexpiry- expiration instant- Returns:
- the newly created ticket
-
serializeInternal
Serialize a ticket.- Parameters:
generator- JSON generatorticket- ticket
-