Packages

final class Local[A] extends LocalDeprecated[A]

A Local is a ThreadLocal whose scope is flexible. The state of all Locals may be saved or restored onto the current thread by the user. This is useful for threading Locals through execution contexts.

Because it's not meaningful to inherit control from two places, Locals don't have to worry about having to merge two contexts.

Note: the implementation is optimized for situations in which save and restore optimizations are dominant.

Source
Local.scala
Linear Supertypes
LocalDeprecated[A], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Local
  2. LocalDeprecated
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Local(default: () => A)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def :=(value: A): Unit

    Alis for update.

  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. def apply(): A

    Returns the current value of this Local.

  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def bind[R](value: A)(f: => R)(implicit R: CanBindLocals[R]): R

    Execute a block with a specific local value, restoring the current state upon completion.

    Execute a block with a specific local value, restoring the current state upon completion.

    The implementation uses the CanBindLocals type class because in case of asynchronous data types that should be waited on, like Future or CompletableFuture, then the locals context also needs to be cleared on the future's completion, for correctness.

  8. def bindClear[R](f: => R)(implicit R: CanBindLocals[R]): R

    Execute a block with the Local cleared, restoring the current state upon completion.

    Execute a block with the Local cleared, restoring the current state upon completion.

    The implementation uses the CanBindLocals type class because in case of asynchronous data types that should be waited on, like Future or CompletableFuture, then the locals context also needs to be cleared on the future's completion, for correctness.

  9. def clear(): Unit

    Clear the Local's value.

    Clear the Local's value. Other Locals are not modified.

    General usage should be in Local.isolate to avoid leaks.

  10. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  14. def get: A

    Alias for apply.

  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. val key: Key
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. def update(value: A): Unit

    Updates the value of this Local.

  25. def value: Option[A]

    Returns the current value of this Local, or None in case this local should fallback to the default.

    Returns the current value of this Local, or None in case this local should fallback to the default.

    Use apply in case automatic fallback is needed.

  26. def value_=(update: Option[A]): Unit

    Updates the current value of this Local.

    Updates the current value of this Local. If the given value is None, then the local gets cleared.

    This operation is a mixture of apply and clear.

  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from LocalDeprecated[A]

Inherited from AnyRef

Inherited from Any

Ungrouped