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
- Alphabetic
- By Inheritance
- DurablePersistentMap
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
get[A](key: K, path: Access[S])(implicit tx: S.Tx, serializer: Serializer[S.Tx, Access[S], A]): Option[A]
Finds the most recent value for an entity
idwith respect to versionpath.Finds the most recent value for an entity
idwith respect to versionpath. 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
Noneif no value was found, otherwise aSomeof 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.
-
abstract
def
getImmutable[A](key: K, path: Access[S])(implicit tx: S.Tx, serializer: ImmutableSerializer[A]): Option[A]
Finds the most recent value for an entity
idwith respect to versionpath.Finds the most recent value for an entity
idwith respect to versionpath.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
Arequires a transactional serialization, the current approach is to pre-serialize the value into an appropriate format (e.g. a byte array) before calling intoput. In that case the wrapping structure must be de-serialized after callingget.- 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
Noneif no value was found, otherwise aSomeof that value.
-
abstract
def
isFresh(key: K, path: Access[S])(implicit tx: S.Tx): Boolean
Note: requires that
pathis non-empty. - abstract def put[A](key: K, path: Access[S], value: A)(implicit tx: S.Tx, serializer: Serializer[S.Tx, Access[S], A]): Unit
-
abstract
def
putImmutable[A](key: K, path: Access[S], value: A)(implicit tx: S.Tx, serializer: ImmutableSerializer[A]): Unit
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
Arequires a transactional serialization, the current approach is to pre-serialize the value into an appropriate format (e.g. a byte array) before calling intoput. In that case the wrapping structure must be de-serialized after callingget.- 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
- abstract def remove(key: K, path: Access[S])(implicit tx: S.Tx): Boolean
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )