trait Sys[S <: Sys[S]] extends Base[S]
A system in LucreSTM describes a particular mode of representing values in time and of
persisting values to disk. The Sys
trait contains types for variables, identifiers,
access paths, and transactions which are unique to each system (such as ephemeral in-memory,
confluently persistent etc.).
- S
the representation type of the system
- Alphabetic
- By Inheritance
- Sys
- Base
- Closeable
- AutoCloseable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
abstract
type
Acc
The path access type for objects if they carry a temporal trace.
The path access type for objects if they carry a temporal trace. This is used by confluently persistent systems, while it is typically
Unit
for ephemeral systems.- Definition Classes
- Base
- abstract type I <: InMemoryLike[I]
-
abstract
type
Id <: Identifier[S.Tx]
The identifier type of the system.
The identifier type of the system. This is an opaque type about which the user only knows that it uniquely identifies and object (or an object along with its access path in the confluent case). It is thus valid to assume that two objects are equal if their identifiers are equal.
- Definition Classes
- Base
-
abstract
type
Tx <: Txn[S]
The transaction type of the system.
-
abstract
type
Var[A] <: stm.Var[S.Tx, A]
The variable type of the system.
The variable type of the system. Variables allow transactional storage and retrieval both of immutable and mutable values. Specific systems may extend the minimum capabilities described by the
Var
trait.- Definition Classes
- Base
Abstract Value Members
-
abstract
def
close(): Unit
Closes the underlying database (if the system is durable).
Closes the underlying database (if the system is durable). The STM cannot be used beyond this call. An in-memory system should have a no-op implementation.
- Definition Classes
- Base → Closeable → AutoCloseable
-
abstract
def
inMemory: I
- Definition Classes
- Base
-
abstract
def
inMemoryTx(tx: S.Tx): I.Tx
- Definition Classes
- Base
-
abstract
def
root[A](init: (S.Tx) ⇒ A)(implicit serializer: Serializer[S.Tx, S.Acc, A]): Source[S.Tx, A]
Reads the root object representing the stored data structure, or provides a newly initialized one via the
init
argument, if no root has been stored yet.
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( ... )