Class AbstractTicketService

    • Field Detail

      • CONTEXT_CLASS_MAP

        private static final Map<Class<? extends Ticket>,​String> CONTEXT_CLASS_MAP
        Map of ticket classes to context names.
      • log

        private final org.slf4j.Logger log
        Class logger.
      • storageService

        @Nonnull
        private final StorageService storageService
        Storage service to which ticket persistence operations are delegated.
    • Constructor Detail

      • AbstractTicketService

        public AbstractTicketService​(@Nonnull
                                     StorageService service)
        Creates a new instance.
        Parameters:
        service - Storage service to which tickets are persisted.
    • Method Detail

      • context

        protected static String context​(Class<? extends Ticket> clazz)
        Gets the storage service context name for the given ticket type.
        Parameters:
        clazz - Ticket class.
        Returns:
        Context name for ticket type.
      • serializer

        protected static <T extends TicketStorageSerializer<T> serializer​(Class<T> clazz)
        Gets the storage service serializer for the given ticket type.
        Type Parameters:
        T - type of object being serialized
        Parameters:
        clazz - Ticket class.
        Returns:
        Storage service serializer.
      • store

        protected <T extends Ticket> void store​(T ticket)
        Stores the given ticket in the storage service.
        Type Parameters:
        T - Type of ticket.
        Parameters:
        ticket - Ticket to store
      • read

        protected <T extends Ticket> T read​(String id,
                                            Class<T> clazz)
        Retrieves a ticket by ID from the storage service.
        Type Parameters:
        T - Type of ticket.
        Parameters:
        id - Ticket identifier.
        clazz - Ticket type.
        Returns:
        Ticket or null if ticket not found.
      • delete

        protected <T extends Ticket> T delete​(String id,
                                              Class<T> clazz)
        Retrieves a ticket by ID from the storage service and then deletes it.
        Type Parameters:
        T - Type of ticket.
        Parameters:
        id - Ticket identifier.
        clazz - Ticket class
        Returns:
        Deleted ticket or null if ticket not found.