Trait

net.revenj.patterns

PersistableRepository

Related Doc: package patterns

Permalink

trait PersistableRepository[T <: AggregateRoot] extends Repository[T]

Service for doing CRUD operations. It can be used for applying changes on aggregate root to the remote server.

T

type of aggregate root

Source
PersistableRepository.scala
Linear Supertypes
Repository[T], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PersistableRepository
  2. Repository
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def find(uris: Seq[String]): Future[IndexedSeq[T]]

    Permalink

    Returns a Seq of domain objects uniquely represented with their URIs.

    Returns a Seq of domain objects uniquely represented with their URIs. Only found objects will be returned (Seq will be empty if no objects are found).

    uris

    sequence of unique identifiers

    returns

    future to found domain objects

    Definition Classes
    Repository
  2. abstract def persist(inserts: Seq[T], updates: Seq[(T, T)], deletes: Seq[T]): Future[IndexedSeq[String]]

    Permalink

    Apply local changes to the persistent store.

    Apply local changes to the persistent store.

    inserts

    new aggregate roots

    updates

    pairs for updating old aggregate to new state

    deletes

    aggregate roots which will be deleted

    returns

    future uris of newly created aggregates

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def delete(delete: T): Future[Unit]

    Permalink

    Deleting an aggregate.

    Deleting an aggregate.

    delete

    aggregate root to delete

    returns

    future for error checking

  7. def delete(deletes: Seq[T]): Future[Unit]

    Permalink

    Bulk delete.

    Bulk delete. Remote multiple aggregates.

    deletes

    aggregate roots to delete

    returns

    future for error checking

  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. def find(uri: String): Future[Option[T]]

    Permalink

    Returns a domain object uniquely represented with its URI.

    Returns a domain object uniquely represented with its URI. If object is not found, an exception will be thrown

    uri

    domain object identity

    returns

    future to found domain object

    Definition Classes
    Repository
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  14. def insert(insert: T): Future[String]

    Permalink

    Insert a single aggregate.

    Insert a single aggregate.

    insert

    new aggregate root

    returns

    future uri of created aggregate root

  15. def insert(inserts: Seq[T]): Future[IndexedSeq[String]]

    Permalink

    Bulk insert.

    Bulk insert. Create multiple new aggregates.

    inserts

    new aggregate roots

    returns

    future uris of created aggregate roots

  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  21. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  22. def update(old: T, current: T): Future[Unit]

    Permalink

    Changing state of an aggregate root.

    Changing state of an aggregate root.

    old

    old version of aggregate root

    current

    current version of aggregate root

    returns

    future for error checking

  23. def update(update: T): Future[Unit]

    Permalink

    Changing state of an aggregate root.

    Changing state of an aggregate root.

    update

    aggregate root to update

    returns

    future for error checking

  24. def update(updates: Seq[T]): Future[Unit]

    Permalink

    Bulk update.

    Bulk update. Changing state of multiple aggregates.

    updates

    sequence of aggregate roots to update

    returns

    future for error checking

  25. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Repository[T]

Inherited from AnyRef

Inherited from Any

Ungrouped