Module com.darkcollective.relix.ast
Class OperandPrettyPrinter
java.lang.Object
com.darkcollective.relix.ast.visitor.internal.OperandPrettyPrinter
- All Implemented Interfaces:
OperandVisitor<String>
Formats an
Operand expression as a
Unicode relational algebra string.
Handles operator precedence for binary arithmetic (multiplication and
division bind tighter than addition and subtraction) and inserts parentheses
when a lower-precedence sub-expression appears in a higher-precedence context.
String values are escaped (\", \\, \n, \t).
Used internally by PrettyPrinter; also useful for formatting
individual operand expressions in isolation.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvisit(ArrayConstruction node) Visits an array construction ([ expr, … ]).visit(AttributeOperand node) Visits an attribute (column) reference.Visits a binary arithmetic expression (+, −, *, /).visit(BooleanOperand node) Visits a boolean literal.visit(ConditionOperand node) Visits a boolean-valued condition operand (a predicate in operand position).visit(DateOperand node) Visits a typed date literal (DATE '2026-06-15').visit(DurationOperand node) Visits a typed duration literal (DURATION 'PT30M').visit(FunctionCall node) Visits a function call.visit(NumberOperand node) Visits a numeric literal.visit(SetLiteralOperand node) Visits a set literal ({a, b, c}).visit(StringOperand node) Visits a string literal.visit(StructConstruction node) Visits a struct construction ({ name: expr, … }).visit(TimeOperand node) Visits a typed time-of-day literal (TIME '13:40:00').visit(TimestampOperand node) Visits a typed timestamp literal (TIMESTAMP '2026-06-15T13:40:00Z').visit(UnaryOperand node) Visits a unary negation expression (−operand).
-
Constructor Details
-
OperandPrettyPrinter
public OperandPrettyPrinter()
-
-
Method Details
-
visit
Description copied from interface:OperandVisitorVisits an attribute (column) reference.- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a string literal.- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a numeric literal.- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a boolean literal.- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a typed date literal (DATE '2026-06-15').- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a typed time-of-day literal (TIME '13:40:00').- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a typed timestamp literal (TIMESTAMP '2026-06-15T13:40:00Z').- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a typed duration literal (DURATION 'PT30M').- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a binary arithmetic expression (+, −, *, /).- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a function call.- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a set literal ({a, b, c}).- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a unary negation expression (−operand).- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a struct construction ({ name: expr, … }).- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits an array construction ([ expr, … ]).- Specified by:
visitin interfaceOperandVisitor<String>
-
visit
Description copied from interface:OperandVisitorVisits a boolean-valued condition operand (a predicate in operand position).- Specified by:
visitin interfaceOperandVisitor<String>
-