CompositeNodeResolutionScope

Constructors

Link copied to clipboard
constructor(scopes: List<INodeResolutionScope>)

Properties

Link copied to clipboard

Functions

Link copied to clipboard
open override fun resolveNode(ref: INodeReference): INode?

Implementers should accept instances of NodeReference (a.k.a. SerializedNodeReference) and deserialize them into supported references if possible. This removes the need to register an INodeReferenceSerializer and also postpones the deserialization until it's actually necessary.

Link copied to clipboard
open fun <T> runWith(body: () -> T): T

All node references inside the body are resolved against this scope. Compared to runWithAlso, the existing scopes in the current context are not used, meaning they are replaced.

Link copied to clipboard
open fun <T> runWithAdditionalScope(body: () -> T): T

All node references inside the body are resolved against this scope and if that fails against any other scope in the current context.

Link copied to clipboard
open suspend fun <T> runWithAdditionalScopeInCoroutine(body: suspend () -> T): T

Does the same as runWithAlso, but with support for suspendable functions.

Link copied to clipboard
open suspend fun <T> runWithInCoroutine(body: suspend () -> T): T

Does the same as runWithOnly, but with support for suspendable functions.