Module com.darkcollective.relix.ast
Package com.darkcollective.relix.ast.visitor.internal
package com.darkcollective.relix.ast.visitor.internal
The engine-side machinery behind
com.darkcollective.relix.ast.visitor: not exported by the published
artifact. What follows describes the package as a whole, as it stood before the split.
Visitor interfaces and bundled implementations for traversing the relational
algebra AST.
Visitor interfaces
Three generic visitor interfaces mirror the three sealed hierarchies in the parent package:
RelNodeVisitor<R>— onevisitmethod perRelNodeimplementation.OperandVisitor<R>— onevisitmethod perOperandimplementation.PredicateVisitor<R>— onevisitmethod perPredicateimplementation.
Because the root sealed interfaces are exhaustive, implementing a visitor
interface guarantees that every node type is handled — the compiler will flag
any missing visit overload.
Bundled implementations
PrettyPrinter— converts an entireRelNodetree to a Unicode relational algebra string. Use it directly viaRelNode.prettyPrint().OperandPrettyPrinter— formats operand expressions, handling operator precedence and string escaping.PredicatePrettyPrinter— formats predicate conditions using Unicode logical and comparison symbols.
- See Also: