org.sisioh.dddbase.core.lifecycle

Repository

trait Repository[ID <: Identifier[_], E <: Entity[ID], M[+A]] extends EntityReader[ID, E, M] with EntityWriter[ID, E, M]

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

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

ID

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

E

エンティティの型

M

モナドの型

Linear Supertypes
EntityWriter[ID, E, M], EntityReader[ID, E, M], EntityIO[M], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Repository
  2. EntityWriter
  3. EntityReader
  4. EntityIO
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. type Ctx = EntityIOContext[M]

    Definition Classes
    EntityIO
  2. abstract type Result <: ResultWithEntity[This, ID, E, M]

    Definition Classes
    EntityWriter
  3. abstract type Results <: ResultWithEntities[This, ID, E, M]

    Definition Classes
    EntityWriter
  4. abstract type This <: Repository[ID, E, M]

    Definition Classes
    RepositoryEntityWriter

Abstract Value Members

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

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

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

    identifier

    識別子

    returns

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

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

    Definition Classes
    EntityReader
  3. abstract def mapValues[A, R](values: M[A])(f: (A) ⇒ R)(implicit ctx: Ctx): M[R]

    Attributes
    protected
    Definition Classes
    EntityReader
  4. abstract def resolveBy(identifier: ID)(implicit ctx: Ctx): M[E]

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

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

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

    entity

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

    returns

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

    Definition Classes
    EntityWriter
  6. abstract def traverse[A, R](values: Seq[A], forceSuccess: Boolean = false)(f: (A) ⇒ M[R])(implicit ctx: Ctx): M[Seq[R]]

    Attributes
    protected
    Definition Classes
    EntityReader
  7. abstract def traverseWithThis[A](values: Seq[A])(processor: (This, A) ⇒ M[Result])(implicit ctx: Ctx): M[Results]

    Attributes
    protected
    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): M[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): M[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): M[Boolean]

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

    Definition Classes
    EntityReader
  14. def existMulti(entities: E*)(implicit ctx: Ctx): M[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. final def ne(arg0: AnyRef): Boolean

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

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

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

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

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

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

    entities

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

    returns

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

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

    Definition Classes
    AnyRef
  25. def toString(): String

    Definition Classes
    AnyRef → Any
  26. def traverseWithoutFailures[A, R](values: Seq[A])(f: (A) ⇒ M[R])(implicit ctx: Ctx): M[Seq[R]]

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

    更新メソッド。

    更新メソッド。

    entityWriter(identifier) = entity
    identifier

    識別子

    entity

    エンティティ

    returns

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

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from EntityWriter[ID, E, M]

Inherited from EntityReader[ID, E, M]

Inherited from EntityIO[M]

Inherited from AnyRef

Inherited from Any

Ungrouped