org.sisioh.dddbase.core.lifecycle.sync

SyncRepository

trait SyncRepository[ID <: Identifier[_], E <: Entity[ID]] extends Repository[ID, E, Try] with SyncEntityReader[ID, E] with SyncEntityWriter[ID, E]

基本的なリポジトリのトレイト。 リポジトリとして、基本的に必要な機能を定義するトレイト。

リポジトリの状態を変更するメソッドの戻り値としては、 Immutableなリポジトリは新しいリポジトリインスタンスを返し、 Mutableなリポジトリは同一インスタンスを返すこと、を推奨する。

ID

エンティティの識別子の型

E

エンティティの型

Linear Supertypes
SyncEntityWriter[ID, E], SyncEntityReader[ID, E], Repository[ID, E, Try], EntityWriter[ID, E, Try], EntityReader[ID, E, Try], EntityIO[Try], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SyncRepository
  2. SyncEntityWriter
  3. SyncEntityReader
  4. Repository
  5. EntityWriter
  6. EntityReader
  7. EntityIO
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. type Ctx = EntityIOContext[Try]

    Definition Classes
    EntityIO
  2. type Result = SyncResultWithEntity[This, ID, E]

    Definition Classes
    SyncEntityWriterEntityWriter
  3. type Results = SyncResultWithEntities[This, ID, E]

    Definition Classes
    SyncEntityWriterEntityWriter
  4. abstract type This <: SyncRepository[ID, E]

Abstract Value Members

  1. abstract def deleteBy(identifier: ID)(implicit ctx: Ctx): Try[Result]

    指定した識別子のエンティティを削除する。

    指定した識別子のエンティティを削除する。

    identifier

    識別子

    returns

    Success: リポジトリインスタンスと削除されたエンティティ Failure: RepositoryExceptionは、リポジトリにアクセスできなかった場合。

    Definition Classes
    EntityWriter
  2. abstract def existBy(identifier: ID)(implicit ctx: Ctx): Try[Boolean]

    Definition Classes
    EntityReader
  3. abstract def resolveBy(identifier: ID)(implicit ctx: Ctx): Try[E]

    Definition Classes
    EntityReader
  4. abstract def store(entity: E)(implicit ctx: Ctx): Try[Result]

    エンティティを保存する。

    エンティティを保存する。

    entity

    保存する対象のエンティティ

    returns

    Success: リポジトリインスタンスと保存されたエンティティ Failure RepositoryExceptionは、リポジトリにアクセスできなかった場合。

    Definition Classes
    EntityWriter

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def apply(identifier: ID)(implicit ctx: Ctx): Try[E]

    Definition Classes
    EntityReader
  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def deleteByMulti(identifiers: ID*)(implicit ctx: Ctx): Try[Results]

    指定した複数の識別子のエンティティを削除する。

    指定した複数の識別子のエンティティを削除する。

    identifiers

    識別子

    returns

    Success: リポジトリインスタンスと削除されたエンティティ Failure: RepositoryExceptionは、リポジトリにアクセスできなかった場合。

    Definition Classes
    EntityWriter
  10. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  12. def exist(entity: E)(implicit ctx: Ctx): Try[Boolean]

    Definition Classes
    EntityReader
  13. def existByMulti(identifiers: ID*)(implicit ctx: Ctx): Try[Boolean]

    Definition Classes
    EntityReader
  14. def existMulti(entities: E*)(implicit ctx: Ctx): Try[Boolean]

    Definition Classes
    EntityReader
  15. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  18. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  19. def mapValues[A, R](values: Try[A])(f: (A) ⇒ R)(implicit ctx: Ctx): Try[R]

    Attributes
    protected
    Definition Classes
    SyncEntityReaderEntityReader
  20. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  21. final def notify(): Unit

    Definition Classes
    AnyRef
  22. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  23. def resolveByMulti(identifiers: ID*)(implicit ctx: Ctx): Try[Seq[E]]

    Definition Classes
    EntityReader
  24. def storeMulti(entities: E*)(implicit ctx: Ctx): Try[Results]

    複数のエンティティを保存する。

    複数のエンティティを保存する。

    entities

    保存する対象のエンティティ

    returns

    Success: リポジトリインスタンスと保存されたエンティティ Failure RepositoryExceptionは、リポジトリにアクセスできなかった場合。

    Definition Classes
    EntityWriter
  25. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  26. def toString(): String

    Definition Classes
    AnyRef → Any
  27. def traverse[A, R](values: Seq[A], forceSuccess: Boolean)(f: (A) ⇒ Try[R])(implicit ctx: Ctx): Try[Seq[R]]

    Attributes
    protected
    Definition Classes
    SyncEntityReaderEntityReader
  28. def traverseWithThis[A](values: Seq[A])(processor: (This, A) ⇒ Try[Result])(implicit ctx: Ctx): Try[Results]

    Attributes
    protected
    Definition Classes
    SyncEntityWriterEntityWriter
  29. def traverseWithoutFailures[A, R](values: Seq[A])(f: (A) ⇒ Try[R])(implicit ctx: Ctx): Try[Seq[R]]

    Attributes
    protected
    Definition Classes
    EntityReader
  30. def update(identifier: ID, entity: E)(implicit ctx: Ctx): Try[Result]

    更新メソッド。

    更新メソッド。

    entityWriter(identifier) = entity
    identifier

    識別子

    entity

    エンティティ

    returns

    Success: リポジトリインスタンスと保存されたエンティティ Failure RepositoryExceptionは、リポジトリにアクセスできなかった場合。

    Definition Classes
    EntityWriter
  31. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from SyncEntityWriter[ID, E]

Inherited from SyncEntityReader[ID, E]

Inherited from Repository[ID, E, Try]

Inherited from EntityWriter[ID, E, Try]

Inherited from EntityReader[ID, E, Try]

Inherited from EntityIO[Try]

Inherited from AnyRef

Inherited from Any

Ungrouped