Trait

com.twitter.finagle.context

Context

Related Doc: package context

Permalink

trait Context extends AnyRef

A context contains a number of let-delimited bindings. Bindings are indexed by type Key[A] in a typesafe manner. Later bindings shadow earlier ones.

Note that the implementation of context maintains all bindings in a linked list; context lookup requires a linear search.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Context
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class Bound[A](next: Env, key: Key[A], value: A) extends Env with Product with Serializable

    Permalink

    An environment with key bound to value; lookups for other keys are forwarded to next.

  2. case class Cleared[A](next: Env, key: Key[A]) extends Env with Product with Serializable

    Permalink

    An environment without key.

    An environment without key. Lookups for other keys are forwarded to next.

  3. sealed trait Env extends AnyRef

    Permalink
  4. abstract type Key[A]

    Permalink
  5. case class OrElse(left: Env, right: Env) extends Env with Product with Serializable

    Permalink

    Concatenate two environments with left-hand side precedence.

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. object Empty extends Env

    Permalink

    An empty environment.

    An empty environment. No keys are present.

  5. def apply[A](key: Key[A]): A

    Permalink

    Retrieve the current definition of a key.

    Retrieve the current definition of a key.

    Annotations
    @throws( "If the key does not exist" )
    Exceptions thrown

    NoSuchElementException when the key is undefined in the current request-local context.

  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def contains[A](key: Key[A]): Boolean

    Permalink

    Tells whether key is defined in the current request-local context.

  9. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. def get[A](key: Key[A]): Option[A]

    Permalink

    Retrieve the current definition of a key, but only if it is defined in the current request-local context.

  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. def getOrElse[A](key: Key[A], orElse: () ⇒ A): A

    Permalink

    Retrieve the current definition of a key if it is defined.

    Retrieve the current definition of a key if it is defined. If it is not defined, orElse is evaluated and returned.

  15. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. def let[A, B, R](key1: Key[A], value1: A, key2: Key[B], value2: B)(fn: ⇒ R): R

    Permalink

    Bind two keys and values in the scope of fn.

  18. def let[A, R](key: Key[A], value: A)(fn: ⇒ R): R

    Permalink

    Bind value to key in the scope of fn.

  19. def letClear[R]()(fn: ⇒ R): R

    Permalink

    Clears all bindings in the scope of fn.

    Clears all bindings in the scope of fn.

    For example:

    context.let(Key1, "value1") {
      context.let(Key2, "something else") {
        context.letClear() {
          // context.contains(Key1) == false
          // context.contains(Key2) == false
        }
        // context(Key1) == "value1"
        // context(Key2) == "something else"
      }
    }
  20. def letClear[R](keys: Key[_]*)(fn: ⇒ R): R

    Permalink

    Unbind the passed-in keys, in the scope of fn.

  21. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  25. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  26. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped