W3cubDocs

/Kotlin

Element

interface Element : CoroutineContext

An element of the CoroutineContext. An element of the coroutine context is a singleton context by itself.

Properties

key

abstract val key: Key<*>

A key of this coroutine context element.

Inherited Functions

fold

abstract fun <R> fold(
    initial: R, 
    operation: (R, Element) -> R
): R

Accumulates entries of this context starting with initial value and applying operation from left to right to current accumulator value and each element of this context.

get

abstract operator fun <E : Element> get(key: Key<E>): E?

Returns the element with the given key from this context or null. Keys are compared by reference, that is to get an element from the context the reference to its actual key object must be presented to this function.

minusKey

abstract fun minusKey(key: Key<*>): CoroutineContext

Returns a context containing elements from this context, but without an element with the specified key. Keys are compared by reference, that is to remove an element from the context the reference to its actual key object must be presented to this function.

plus

abstract operator fun plus(
    context: CoroutineContext
): CoroutineContext

Returns a context containing elements from this context and elements from other context. The elements from this context with the same key as in the other one are dropped.

Inheritors

AbstractCoroutineContextElement

abstract class AbstractCoroutineContextElement : Element

Base class for CoroutineContext.Element implementations.

ContinuationInterceptor

interface ContinuationInterceptor : Element

Marks coroutine context element that intercepts coroutine continuations. The coroutines framework uses ContinuationInterceptor.Key to retrieve the interceptor and intercepts all coroutine continuations with interceptContinuation invocations.

© 2010–2017 JetBrains s.r.o.
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines.experimental/-coroutine-context/-element/