Trait/Object

de.sciss.lucre.stm

Plain

Related Docs: object Plain | package stm

Permalink

trait Plain extends Base[Plain] with Cursor[Plain] with Executor[Plain]

Linear Supertypes
Executor[Plain], Cursor[Plain], Base[Plain], Closeable, AutoCloseable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Plain
  2. Executor
  3. Cursor
  4. Base
  5. Closeable
  6. AutoCloseable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Acc = Unit

    Permalink

    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
    PlainBase
  2. type I = Plain

    Permalink
    Definition Classes
    PlainBase
  3. type Id = Identifier[Plain]

    Permalink

    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
    PlainBase
  4. type Tx = Plain

    Permalink

    The transaction type of the system.

    The transaction type of the system.

    Definition Classes
    PlainBase
  5. type Var[A] = stm.Var[Tx, A]

    Permalink

    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
    PlainBase

Abstract Value Members

  1. abstract def close(): Unit

    Permalink

    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
  2. abstract def inMemory: I

    Permalink
    Definition Classes
    Base
  3. abstract def inMemoryTx(tx: Tx): Tx

    Permalink
    Definition Classes
    Base
  4. abstract def newBooleanVar(id: Id, init: Boolean): Var[Boolean]

    Permalink
    Definition Classes
    Executor
  5. abstract def newHandle[A](value: A)(implicit serializer: Serializer[Tx, Acc, A]): Source[Tx, A]

    Permalink

    Creates a handle (in-memory) to refresh a stale version of an object, assuming that the future transaction is issued from the same cursor that is used to create the handle, except for potentially having advanced.

    Creates a handle (in-memory) to refresh a stale version of an object, assuming that the future transaction is issued from the same cursor that is used to create the handle, except for potentially having advanced. This is a mechanism that can be used in live views to gain valid access to a referenced object (e.g. self access).

    value

    the object which will be refreshed when calling get on the returned handle

    serializer

    used to write and freshly read the object

    returns

    the handle

    Definition Classes
    Executor
  6. abstract def newId(): Id

    Permalink
    Definition Classes
    Executor
  7. abstract def newInMemoryIdMap[A]: IdentifierMap[Id, Tx, A]

    Permalink

    Creates a new in-memory transactional map for storing and retrieving values based on a mutable's identifier as key.

    Creates a new in-memory transactional map for storing and retrieving values based on a mutable's identifier as key. If a system is confluently persistent, the get operation will find the most recent key that matches the search key. Objects are not serialized but kept live in memory.

    Id maps can be used by observing views to look up associated view meta data even though they may be presented with a more recent access path of the model peer (e.g. when a recent event is fired and observed).

    A

    the value type in the map

    Definition Classes
    Executor
  8. abstract def newInMemoryMap[A, B]: RefMap[Plain, A, B]

    Permalink
    Definition Classes
    Executor
  9. abstract def newInMemorySet[A]: RefSet[Plain, A]

    Permalink
    Definition Classes
    Executor
  10. abstract def newIntVar(id: Id, init: Int): Var[Int]

    Permalink
    Definition Classes
    Executor
  11. abstract def newLongVar(id: Id, init: Long): Var[Long]

    Permalink
    Definition Classes
    Executor
  12. abstract def newRef[A](init: A): Ref[Tx, A]

    Permalink
    Definition Classes
    Executor
  13. abstract def newVar[A](id: Id, init: A)(implicit serializer: Serializer[Tx, Acc, A]): Var[A]

    Permalink
    Definition Classes
    Executor
  14. abstract def newVarArray[A](size: Int): Array[Var[A]]

    Permalink
    Definition Classes
    Executor
  15. abstract def position(implicit tx: Tx): Acc

    Permalink
    Definition Classes
    Cursor
  16. abstract def readBooleanVar(id: Id, in: DataInput): Var[Boolean]

    Permalink
    Definition Classes
    Executor
  17. abstract def readId(in: DataInput, acc: Acc): Id

    Permalink
    Definition Classes
    Executor
  18. abstract def readIntVar(id: Id, in: DataInput): Var[Int]

    Permalink
    Definition Classes
    Executor
  19. abstract def readLongVar(id: Id, in: DataInput): Var[Long]

    Permalink
    Definition Classes
    Executor
  20. abstract def readVar[A](id: Id, in: DataInput)(implicit serializer: Serializer[Tx, Acc, A]): Var[A]

    Permalink
    Definition Classes
    Executor
  21. abstract def step[A](fun: (Tx) ⇒ A): A

    Permalink

    Issues a new transaction (executor), runs the function argument on it, and returns the result.

    Issues a new transaction (executor), runs the function argument on it, and returns the result.

    Definition Classes
    Cursor
  22. abstract def stepTag[A](systemTimeNanos: Long)(fun: (Tx) ⇒ A): A

    Permalink

    Issues a new transaction (executor), tagged with the given time referring to "now", runs the function argument on it, and returns the result.

    Issues a new transaction (executor), tagged with the given time referring to "now", runs the function argument on it, and returns the result.

    The tagging can be used for latency based circumstances, such as scheduling OSC bundles on a sound server.

    systemTimeNanos

    Time in nano-seconds since midnight, January 1, 1970 UTC. E.g. System.currentTimeMillis() * 1000000000L (possibly adding nano-seconds fraction).

    Definition Classes
    Cursor
  23. abstract val system: Plain

    Permalink

    Back link to the underlying system.

    Back link to the underlying system.

    Definition Classes
    Executor

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 Executor[Plain]

Inherited from Cursor[Plain]

Inherited from Base[Plain]

Inherited from Closeable

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped