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: BsonContext

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: Symbol not found for Bson

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 override fun writeTo(writer: ERROR CLASS: Symbol not found for BsonFieldWriter)

Writes the result of simplifying this expression into writer.