Interface ChainableEvent

  • All Superinterfaces:
    Event
    All Known Implementing Classes:
    AbstractChainableEvent, SingletonCapableEvent

    public interface ChainableEvent
    extends Event
    The ChainableEvent interface defines methods necessary to support an unbounded chain of callbacks and event between different IEventService implementations.
    Since:
    1.2.0
    Author:
    Steve Springett
    • Method Detail

      • getEventIdentifier

        UUID getEventIdentifier()
        Returns the unique identifier for this event.
        Returns:
        the unique identifier for this event
        Since:
        1.4.0
      • getChainIdentifier

        UUID getChainIdentifier()
        Returns the unique identifier for the chain this event is a part of.
        Returns:
        the unique identifier for the chain this event is a part of
        Since:
        1.4.0
      • setChainIdentifier

        void setChainIdentifier​(UUID chainIdentifier)
        Sets the unique identifier for the chain this event is a part of.
        Parameters:
        chainIdentifier - the UUID of the chain
        Since:
        1.4.0
      • onSuccess

        ChainLink[] onSuccess()
        Returns the optional callback event that should be processed if this event is successful.
        Returns:
        an Event
        Since:
        1.2.0
      • onFailure

        ChainLink[] onFailure()
        Returns the optional callback event that should be processed if this event is not successful.
        Returns:
        an Event
        Since:
        1.2.0
      • onSuccess

        ChainableEvent onSuccess​(Event onSuccessEvent)
        Fluent method that sets the onSuccess Event and returns this object.
        Parameters:
        onSuccessEvent - the event to publish if this event succeeds
        Returns:
        the current object
        Since:
        1.2.0
      • onSuccess

        ChainableEvent onSuccess​(Event onSuccessEvent,
                                 Class<? extends IEventService> onSuccessEventService)
        Fluent method that sets the onSuccess Event and returns this object.
        Parameters:
        onSuccessEvent - the event to publish if this event succeeds
        onSuccessEventService - the specific IEventService implementation to use
        Returns:
        the current object
        Since:
        1.2.0
      • onFailure

        ChainableEvent onFailure​(Event onFailureEvent)
        Fluent method that sets the onFailure Event and returns this object.
        Parameters:
        onFailureEvent - the event to publish if this event fails
        Returns:
        the current object
        Since:
        1.2.0
      • onFailure

        ChainableEvent onFailure​(Event onFailureEvent,
                                 Class<? extends IEventService> onFailureEventService)
        Fluent method that sets the onFailure Event and returns this object.
        Parameters:
        onFailureEvent - the event to publish if this event fails
        onFailureEventService - the specific IEventService implementation to use
        Returns:
        the current object
        Since:
        1.2.0