Trait/Object

de.sciss.lucre.confluent

DurablePersistentMap

Related Docs: object DurablePersistentMap | package confluent

Permalink

trait DurablePersistentMap[S <: Sys[S], K] extends AnyRef

Interface for a confluently or partially persistent storing key value map. Keys (type K) might be single object identifiers (as the variable storage case), or combined keys (as in the live map case).

S

the underlying system

K

the key type

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DurablePersistentMap
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def get[A](key: K, path: Access[S])(implicit tx: S.Tx, serializer: Serializer[S.Tx, Access[S], A]): Option[A]

    Permalink

    Finds the most recent value for an entity id with respect to version path.

    Finds the most recent value for an entity id with respect to version path. If a value is found, it is return along with a suffix suitable for identifier path actualisation.

    A

    the type of values stored with the entity

    key

    the identifier for the object

    path

    the path through which the object has been accessed (the version at which it is read)

    tx

    the transaction within which the access is performed

    serializer

    the serializer used to store the entity's values

    returns

    None if no value was found, otherwise a Some of the tuple consisting of the suffix and the value. The suffix is the access path minus the prefix at which the value was found. However, the suffix overlaps the prefix in that it begins with the tree entering/exiting tuple at which the value was found.

  2. abstract def getImmutable[A](key: K, path: Access[S])(implicit tx: S.Tx, serializer: ImmutableSerializer[A]): Option[A]

    Permalink

    Finds the most recent value for an entity id with respect to version path.

    Finds the most recent value for an entity id with respect to version path.

    The serializer given is _non_transactional. This is because this trait bridges confluent and ephemeral world (it may use a durable backend, but the data structures used for storing the confluent graph are themselves ephemeral). If the value A requires a transactional serialization, the current approach is to pre-serialize the value into an appropriate format (e.g. a byte array) before calling into put. In that case the wrapping structure must be de-serialized after calling get.

    A

    the type of values stored with the entity

    key

    the identifier for the object

    path

    the path through which the object has been accessed (the version at which it is read)

    tx

    the transaction within which the access is performed

    serializer

    the serializer used to store the entity's values

    returns

    None if no value was found, otherwise a Some of that value.

  3. abstract def isFresh(key: K, path: Access[S])(implicit tx: S.Tx): Boolean

    Permalink

    Note: requires that path is non-empty.

  4. abstract def put[A](key: K, path: Access[S], value: A)(implicit tx: S.Tx, serializer: Serializer[S.Tx, Access[S], A]): Unit

    Permalink
  5. abstract def putImmutable[A](key: K, path: Access[S], value: A)(implicit tx: S.Tx, serializer: ImmutableSerializer[A]): Unit

    Permalink

    Stores a new value for a given write path.

    Stores a new value for a given write path.

    The serializer given is _non_transactional. This is because this trait bridges confluent and ephemeral world (it may use a durable backend, but the data structures used for storing the confluent graph are themselves ephemeral). If the value A requires a transactional serialization, the current approach is to pre-serialize the value into an appropriate format (e.g. a byte array) before calling into put. In that case the wrapping structure must be de-serialized after calling get.

    A

    the type of values stored with the entity

    key

    the identifier for the object

    path

    the path through which the object has been accessed (the version at which it is read)

    value

    the value to store

    tx

    the transaction within which the access is performed

    serializer

    the serializer used to store the entity's values

  6. abstract def remove(key: K, path: Access[S])(implicit tx: S.Tx): Boolean

    Permalink

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. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit

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

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

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

Inherited from AnyRef

Inherited from Any

Ungrouped