Module com.darkcollective.relix.ast
Class PredicatePrettyPrinter
java.lang.Object
com.darkcollective.relix.ast.visitor.internal.PredicatePrettyPrinter
- All Implemented Interfaces:
PredicateVisitor<String>
Formats a
Predicate as a Unicode
relational algebra string.
Uses Unicode logical and comparison symbols: ∧ (and), ∨
(or), ¬ (not), ∈/∉ (set membership), ⊥
(null), and = ≠ < ≤ > ≥ for comparisons. Binary predicates
are parenthesised ((left) ∧ (right)) to make associativity
unambiguous when nested.
Operand formatting is delegated to OperandPrettyPrinter.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvisit(AndPredicate node) Visits a logical conjunction (∧).visit(ComparisonPredicate node) Visits a comparison predicate (=, ≠, <, ≤, >, ≥).visit(ElementOfPredicate node) Visits a set-membership test (∈ or ∉).visit(NotPredicate node) Visits a logical negation (¬).visit(NullPredicate node) Visits a null test (= ⊥ or ≠ ⊥).visit(OrPredicate node) Visits a logical disjunction (∨).visit(PatternPredicate node) Visits a pattern-matching test (LIKE or NOT LIKE).
-
Constructor Details
-
PredicatePrettyPrinter
public PredicatePrettyPrinter()
-
-
Method Details
-
visit
Description copied from interface:PredicateVisitorVisits a comparison predicate (=, ≠, <, ≤, >, ≥).- Specified by:
visitin interfacePredicateVisitor<String>
-
visit
Description copied from interface:PredicateVisitorVisits a logical conjunction (∧).- Specified by:
visitin interfacePredicateVisitor<String>
-
visit
Description copied from interface:PredicateVisitorVisits a logical disjunction (∨).- Specified by:
visitin interfacePredicateVisitor<String>
-
visit
Description copied from interface:PredicateVisitorVisits a logical negation (¬).- Specified by:
visitin interfacePredicateVisitor<String>
-
visit
Description copied from interface:PredicateVisitorVisits a null test (= ⊥ or ≠ ⊥).- Specified by:
visitin interfacePredicateVisitor<String>
-
visit
Description copied from interface:PredicateVisitorVisits a set-membership test (∈ or ∉).- Specified by:
visitin interfacePredicateVisitor<String>
-
visit
Description copied from interface:PredicateVisitorVisits a pattern-matching test (LIKE or NOT LIKE).- Specified by:
visitin interfacePredicateVisitor<String>
-