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

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
abstract val context: <Error class: unknown class>

The context used to generate this expression.

Functions

Link copied to clipboard
abstract override fun accept(node: BsonNode)

Adds a new node as a child of this one.

Link copied to clipboard
fun <N : Node> CompoundNode<N>.acceptAll(nodes: Iterable<N>)

Adds any number of nodes into this one.

Link copied to clipboard
abstract override fun freeze()

Makes this expression immutable.

Link copied to clipboard
abstract fun simplify(): BsonNode?

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

Link copied to clipboard
open fun toBson(): <Error class: unknown class>

Writes the result of simplifying to a new Bson.

Link copied to clipboard
abstract override fun toString(): String

JSON representation of this expression.

Link copied to clipboard
abstract fun writeTo(writer: <Error class: unknown class>)

Writes the result of simplifying this expression into writer.