Package

no.nextgentel.oss.akkatools

aggregate

Permalink

package aggregate

Visibility
  1. Public
  2. All

Type Members

  1. abstract class AbstractGeneralAggregate[S <: AggregateStateJava] extends GeneralAggregate[Any, AggregateStateJava]

    Permalink

    Inspired by akka.actor.AbstractActor

    Inspired by akka.actor.AbstractActor

    Use CmdToEventBuilder the same way you use ReceiveBuilder

    S

    The type representing your state

  2. trait AggregateCmd extends AnyRef

    Permalink
  3. class AggregateCmdMessageExtractor extends HashCodeMessageExtractor

    Permalink
  4. class AggregateError extends RuntimeException

    Permalink
  5. abstract class AggregateStarter extends AggregateStarterLike

    Permalink
  6. trait AggregateStarterLike extends AnyRef

    Permalink
  7. class AggregateStarterSimple extends AggregateStarter

    Permalink
  8. trait AggregateState[E, T <: AggregateState[E, T]] extends AnyRef

    Permalink
  9. trait AggregateStateJava extends AggregateState[Any, AggregateStateJava]

    Permalink
  10. trait AggregateViewAsker extends AnyRef

    Permalink
  11. trait AggregateViewStarter extends AggregateViewAsker

    Permalink
  12. class CmdToEventBuilder extends AnyRef

    Permalink
  13. class DispatcherActor extends Actor with ActorLogging

    Permalink
  14. abstract class GeneralAggregate[E, S <: AggregateState[E, S]] extends EnhancedPersistentShardingActor[E, AggregateError]

    Permalink

    Dispatcher - When sending something to an ES, use its dispatcher Command - Dispatchable message - When sent to the dispatcher, it will be sent to the correct ES.

    Dispatcher - When sending something to an ES, use its dispatcher Command - Dispatchable message - When sent to the dispatcher, it will be sent to the correct ES.

    Event - Represents a change of state for an ES

    State is immutable. Represents the full state of the entity. based on its state it can accept or reject an event. Has with method transition(event) - if ok, it returns new state. If not, an error is thrown.

    Can be used to try an event (since it is mutable)

    DurableMessage: method of sending a message which with retry-mechanism until confirm() is called.

    GeneralAggregate pseudocode:

    for each received cmd: convert it to event try the event (by calling state.transition() ) if it failed: maybe do something if it works: persist event generate and send DurableMessages change our current state (by calling state.transition() and keeping the result )

    E

    Superclass/trait representing your events

    S

    The type representing your state

  15. abstract class GeneralAggregateJava[S <: AggregateStateJava] extends GeneralAggregate[Any, AggregateStateJava]

    Permalink

    S

    The type representing your state

  16. class GeneralAggregateView[E, S <: AggregateState[E, S]] extends EnhancedPersistentView[E, S]

    Permalink
  17. class GeneralAggregateViewJava extends GeneralAggregateView[Any, AggregateStateJava]

    Permalink
  18. class GenerateResultingDurableMessagesBuilder extends AnyRef

    Permalink
  19. case class ResultingDurableMessages(list: List[SendAsDurableMessage]) extends Product with Serializable

    Permalink
  20. case class ResultingEvent[+E](events: () ⇒ List[E], errorHandler: (String) ⇒ Unit, successHandler: () ⇒ Unit, afterValidationSuccessHandler: () ⇒ Unit) extends Product with Serializable

    Permalink
  21. case class ResultingEventJava(events: List[Any], successHandler: Runnable, afterValidationSuccessHandler: Runnable, errorHandler: Consumer[String]) extends Product with Serializable

    Permalink
  22. abstract class GeneralAggregateBuilder[E, S <: AggregateState[E, S]] extends AnyRef

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.0.3)

  23. class GeneralAggregateBuilderJava extends GeneralAggregateBuilder[Any, AggregateStateJava]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.0.3) Use AggregateStarter and AggregateViewStarter with GeneralAggregateViewJava instead

Value Members

  1. object AggregateStarter

    Permalink
  2. object AggregateStarterSimple

    Permalink
  3. object ResultingDurableMessages extends Serializable

    Permalink
  4. object ResultingEvent extends Serializable

    Permalink
  5. object ResultingEventJava extends Serializable

    Permalink

Ungrouped