org.axonframework.saga.annotation
Class AsyncSagaProcessingEvent

java.lang.Object
  extended by org.axonframework.saga.annotation.AsyncSagaProcessingEvent

public class AsyncSagaProcessingEvent
extends Object

Placeholder for information required by the AsyncSagaEventProcessor for processing Events.

Since:
2.0
Author:
Allard Buijze

Constructor Summary
AsyncSagaProcessingEvent()
           
 
Method Summary
 Set<AssociationValue> getAssociationValues()
          Returns all association values that could potentially link a saga instance with the incoming event.
 SagaMethodMessageHandler getCreationHandler()
          Returns the event handler which is used to create a new saga instance based on the incoming event.
 List<SagaMethodMessageHandler> getHandlers()
          Returns the handler that can process the published Event.
 AssociationValue getInitialAssociationValue()
          Returns the association to assign to an event when handling an incoming event that creates a Saga.
 AbstractAnnotatedSaga getNewSaga()
          Returns the new Saga instance that should be used when processing an Event that creates a new Saga instance
 EventMessage getPublishedEvent()
          Returns the event that has been published on the EventBus.
 Class<? extends Saga> getSagaType()
          Returns the type of Saga being processed.
 void reset(EventMessage nextEvent, Class<? extends AbstractAnnotatedSaga> nextSagaType, List<SagaMethodMessageHandler> nextHandlers, AbstractAnnotatedSaga nextSagaInstance)
          Reset this entry for processing a new EventMessage
 boolean waitForSagaCreationVote(boolean didEventInvocation, int processorCount, boolean ownsNewSagaInstance)
          Forces the current thread to wait for the voting to complete if it is responsible for creating the Saga.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AsyncSagaProcessingEvent

public AsyncSagaProcessingEvent()
Method Detail

getPublishedEvent

public EventMessage getPublishedEvent()
Returns the event that has been published on the EventBus. This is the event that will trigger Sagas.

Returns:
the event that has been published on the EventBus

getHandlers

public List<SagaMethodMessageHandler> getHandlers()
Returns the handler that can process the published Event.

Returns:
the handler that can process the published Event

getSagaType

public Class<? extends Saga> getSagaType()
Returns the type of Saga being processed.

Returns:
the type of Saga being processed

waitForSagaCreationVote

public boolean waitForSagaCreationVote(boolean didEventInvocation,
                                       int processorCount,
                                       boolean ownsNewSagaInstance)
Forces the current thread to wait for the voting to complete if it is responsible for creating the Saga. As soon as an invocation has been recorded, the waiting thread is released.

Parameters:
didEventInvocation - indicates whether the current processor found a Saga to process
processorCount - The total number of processors expected to cast a vote
ownsNewSagaInstance - Indicates whether the current processor "owns" the to-be-created saga instance.
Returns:
true if the current processor should create the new instance, false otherwise.

getNewSaga

public AbstractAnnotatedSaga getNewSaga()
Returns the new Saga instance that should be used when processing an Event that creates a new Saga instance

Returns:
the new Saga instance

reset

public void reset(EventMessage nextEvent,
                  Class<? extends AbstractAnnotatedSaga> nextSagaType,
                  List<SagaMethodMessageHandler> nextHandlers,
                  AbstractAnnotatedSaga nextSagaInstance)
Reset this entry for processing a new EventMessage

Parameters:
nextEvent - The EventMessage to process
nextSagaType - The type of Saga to process this EventMessage
nextHandlers - The handlers potentially handling this message
nextSagaInstance - The saga instance to use when a new saga is to be created

getCreationHandler

public SagaMethodMessageHandler getCreationHandler()
Returns the event handler which is used to create a new saga instance based on the incoming event.

Returns:
a SagaMethodMessageHandler instance describing the creation rules

getInitialAssociationValue

public AssociationValue getInitialAssociationValue()
Returns the association to assign to an event when handling an incoming event that creates a Saga. If the incoming event is not a creation event, this method returns null.

Returns:
the association to assign to an event when handling an incoming event that creates a Saga

getAssociationValues

public Set<AssociationValue> getAssociationValues()
Returns all association values that could potentially link a saga instance with the incoming event.

Returns:
all association values that could potentially link a saga instance with the incoming event


Copyright © 2010-2016. All Rights Reserved.