trait
IdentifierMap[ID, -Tx, A] extends Disposable[Tx]
Abstract Value Members
-
abstract
def
contains(id: ID)(implicit tx: Tx): Boolean
-
abstract
def
dispose()(implicit tx: Tx): Unit
-
abstract
def
get(id: ID)(implicit tx: Tx): Option[A]
-
abstract
def
getOrElse(id: ID, default: ⇒ A)(implicit tx: Tx): A
-
abstract
def
put(id: ID, value: A)(implicit tx: Tx): Unit
-
abstract
def
remove(id: ID)(implicit tx: Tx): Unit
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
An identifier map is basically a transactional map whose keys are system identifiers. However, there are two important aspects: First, the map is always ephemeral (but might be still durable!), even for a confluently persistent system. Second, for systems whose identifiers constitute temporal traces (confluently persistent system), lookup (via
get
,contains
etc.) finds _any_ value stored for the current version or any older version. That is to say, in a confluently persistent system, it looks up the most recent entry for the key. It is therefore a useful tool to map system entities to ephemeral live views.the underlying system's identifier type
the underlying system's transaction type
the values stored at the keys.
Unit
can be used if only set functionality is needed.