Package

com.softwaremill

events

Permalink

package events

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. events
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. trait AggregateForEvent[T, U] extends AnyRef

    Permalink

    For each event, provide an implicit value of type AggregateForEvent which specifies with which aggregate is this event associated.

    For each event, provide an implicit value of type AggregateForEvent which specifies with which aggregate is this event associated. This is used e.g. for id type-tagging.

    If the companion object contains the implicit or extends AggregateForEvent with the correct type parameters, the implicit will be found automatically by the compiler, without the need for additional imports.

    T

    Event type

    U

    Aggregate type

  2. trait AsyncEventScheduler extends AnyRef

    Permalink
  3. class BlockingQueueAsyncEventRunner extends StrictLogging

    Permalink
  4. class BlockingQueueAsyncEventScheduler extends AsyncEventScheduler

    Permalink
  5. type CommandResult[F, S] = DBIOAction[(Either[F, S], List[PartialEvent[_, _]]), NoStream, Read]

    Permalink

    A command result consist of:

    A command result consist of:

    * either a failure or success value (failure in case validation of the command input fails) * a list of created events

  6. implicit class CommandResultPimp[F, S] extends AnyRef

    Permalink
  7. class DefaultEventStore extends EventStore with SqlEventStoreSchema with StrictLogging

    Permalink
  8. case class Event[T](id: Long, eventType: String, aggregateType: String, rawAggregateId: Long, aggregateIsNew: Boolean, created: OffsetDateTime, rawUserId: Long, txId: Long, data: T) extends Product with Serializable

    Permalink
  9. case class EventForAggregateBuilder[U, T <: Product](data: T, afe: AggregateForEvent[T, U])(implicit evidence$2: ClassTag[U]) extends Product with Serializable

    Permalink
  10. type EventListener[T] = (Event[T]) ⇒ DBIOAction[List[PartialEvent[_, _]], NoStream, Read]

    Permalink
  11. class EventMachine extends StrictLogging

    Permalink
  12. trait EventStore extends AnyRef

    Permalink
  13. class EventsDatabase extends AnyRef

    Permalink
  14. trait EventsModule extends AnyRef

    Permalink

    Default wiring of the classes involved in handling the events.

  15. class HandleContext extends AnyRef

    Permalink

    Context in which events are created and handled: for example, the currently logged in user id.

  16. trait HandleContextTransform[U] extends AnyRef

    Permalink

    Should be implemented by events which change the "current" user, e.g.

    Should be implemented by events which change the "current" user, e.g. a user-registered or user-logged-in events.

  17. type ModelUpdate[T] = (Event[T]) ⇒ DBIOAction[Unit, NoStream, Read with Write]

    Permalink
  18. case class PartialEvent[U, T](eventType: String, aggregateType: String, aggregateId: Option[@@[Long, U]], aggregateIsNew: Boolean, data: T) extends Product with Serializable

    Permalink
  19. case class PartialEventWithId[U, T](id: Long, eventType: String, aggregateType: String, aggregateId: @@[Long, U], aggregateIsNew: Boolean, created: OffsetDateTime, data: T) extends Product with Serializable

    Permalink
  20. case class Registry(eventListeners: Map[Class[_], List[EventListener[_]]], asyncEventListeners: Map[Class[_], List[EventListener[_]]], modelUpdates: Map[Class[_], List[ModelUpdate[_]]], eventsByTypeWithModelUpdate: Map[String, Class[_]], defaultFormats: Formats, eventFormatsByType: Map[String, Formats]) extends Product with Serializable

    Permalink

    Maps event types to event listeners (synchronous and asynchronous) as well as model update functions.

  21. trait SqlEventStoreSchema extends AnyRef

    Permalink
  22. case class StoredEvent(id: Long, eventType: String, aggregateType: String, aggregateId: Long, aggregateIsNew: Boolean, created: OffsetDateTime, userId: Long, txId: Long, eventJson: String) extends Product with Serializable

    Permalink
  23. trait UserType[-User] extends AnyRef

    Permalink

    A way to parametrise a whole project with a type.

    A way to parametrise a whole project with a type. There should be exactly one implicit value of this type, parametrised by the type of the "user" aggregate (entity). This is needed to properly tag the user id in events.

Value Members

  1. object AggregateForEvent

    Permalink
  2. object CommandResult

    Permalink
  3. object Event extends Serializable

    Permalink
  4. object EventsDatabase

    Permalink
  5. object HandleContext

    Permalink
  6. object PartialEvent extends Serializable

    Permalink
  7. object Registry extends Serializable

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped