Skip to content

MongoDB request DSLopensavvy.ktmongo.dsl.treeCompoundBsonNode

CompoundBsonNode

A compound expression is an BsonNode that may have children.

A compound expression may have 0..n children. Children are added by calling the accept function.

This is also the supertype for all DSL scopes, since DSL scopes correspond to the ability to add children to an expression.

Implementation notes

Prefer implementing AbstractCompoundBsonNode instead of implementing this interface directly.

Inheritors

Types

Companion

object Companion

Properties

context

abstract val context: BsonContext

The context used to generate this expression.

Functions

accept

abstract override fun accept(node: BsonNode)

Adds a new node as a child of this one.

acceptAll

fun <N : Node> CompoundNode<N>.acceptAll(nodes: Iterable<N>)

Adds any number of nodes into this one.

freeze

abstract override fun freeze()

Makes this expression immutable.

simplify

abstract fun simplify(): BsonNode?

Returns a simplified (but equivalent) expression to the current expression.

toBson

open fun toBson(): ERROR CLASS: Symbol not found for Bson

Writes the result of simplifying to a new Bson.

toString

abstract override fun toString(): String

JSON representation of this expression.

writeTo

abstract override fun writeTo(writer: ERROR CLASS: Symbol not found for BsonFieldWriter)

Writes the result of simplifying this expression into writer.