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
Fields Modifier and Type Field Description private static StringAUTHN_INSTANT_FIELDAuthentication instant field name.private static StringAUTHN_METHOD_FIELDAuthentication method field name.private static StringCONSENTED_ATTRS_FIELDConsented attribute IDs field name.private static StringEXPIRATION_FIELDExpiration instant field name.private javax.json.stream.JsonGeneratorFactorygeneratorFactoryJSON generator factory.private org.slf4j.LoggerloggerLogger instance.private static StringPRINCIPAL_FIELDAuthenticated canonical principal name field.private javax.json.JsonReaderFactoryreaderFactoryJSON reader factory.private static StringSERVICE_FIELDService field name.private static StringSESSION_FIELDSession ID field name.private static StringSTATE_FIELDSupplemental ticket state field name.
-
Constructor Summary
Constructors Constructor Description AbstractTicketSerializer()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract TcreateTicket(javax.json.JsonObject o, String id, String service, Instant expiry)Create a ticket.Tdeserialize(long version, String context, String key, String value, Long expiration)voidinitialize()booleanisInitialized()Stringserialize(T ticket)protected abstract voidserializeInternal(javax.json.stream.JsonGenerator generator, T ticket)Serialize a ticket.
-
-
-
Field Detail
-
SERVICE_FIELD
@Nonnull @NotEmpty private static final String SERVICE_FIELD
Service field name.- See Also:
- Constant Field Values
-
EXPIRATION_FIELD
@Nonnull @NotEmpty private static final String EXPIRATION_FIELD
Expiration instant field name.- See Also:
- Constant Field Values
-
STATE_FIELD
@Nonnull @NotEmpty private static final String STATE_FIELD
Supplemental ticket state field name.- See Also:
- Constant Field Values
-
SESSION_FIELD
@Nonnull @NotEmpty private static final String SESSION_FIELD
Session ID field name.- See Also:
- Constant Field Values
-
PRINCIPAL_FIELD
@Nonnull @NotEmpty private static final String PRINCIPAL_FIELD
Authenticated canonical principal name field.- See Also:
- Constant Field Values
-
AUTHN_INSTANT_FIELD
@Nonnull @NotEmpty private static final String AUTHN_INSTANT_FIELD
Authentication instant field name.- See Also:
- Constant Field Values
-
AUTHN_METHOD_FIELD
@Nonnull @NotEmpty private static final String AUTHN_METHOD_FIELD
Authentication method field name.- See Also:
- Constant Field Values
-
CONSENTED_ATTRS_FIELD
@Nonnull @NotEmpty private static final String CONSENTED_ATTRS_FIELD
Consented attribute IDs field name.- See Also:
- Constant Field Values
-
logger
@Nonnull private final org.slf4j.Logger logger
Logger instance.
-
generatorFactory
@Nonnull private final javax.json.stream.JsonGeneratorFactory generatorFactory
JSON generator factory.
-
readerFactory
@Nonnull private final javax.json.JsonReaderFactory readerFactory
JSON reader factory.
-
-
Method Detail
-
initialize
public void initialize() throws ComponentInitializationException- Specified by:
initializein interfaceInitializableComponent- Throws:
ComponentInitializationException
-
isInitialized
public boolean isInitialized()
- Specified by:
isInitializedin interfaceInitializableComponent
-
serialize
@Nonnull public String serialize(@Nonnull T ticket) throws IOException
- 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
protected abstract T createTicket(@Nonnull javax.json.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
protected abstract void serializeInternal(@Nonnull javax.json.stream.JsonGenerator generator, @Nonnull T ticket)Serialize a ticket.- Parameters:
generator- JSON generatorticket- ticket
-
-