Uses of Class
net.hydromatic.filtex.ast.AstNode
Packages that use AstNode
Package
Description
Filter expressions.
Abstract syntax tree (AST).
Parser.
-
Uses of AstNode in net.hydromatic.filtex
Methods in net.hydromatic.filtex that return AstNodeModifier and TypeMethodDescriptionstatic AstNodeTransforms.dateTransform(AstNode root) Applies the following transformations on the date AST: TODOstatic AstNodeTransforms.locationTransform(AstNode root) Applies the following transformations on the location AST: combine the value array on nodes of type '='static AstNodeTransforms.mergeMultiValueNodes(AstNode root, Op type, boolean mergeDifferentIsValue) Transforms the AST by combining sequential nodes of the same type into a single node.static AstNodeTransforms.numberTransform(AstNode root) Applies the following transformations on the number AST: combine the value array on nodes of type '='static AstNodeFiltex.parseFilterExpression(TypeFamily typeFamily, String expression) Returns an Abstract Syntax Tree (AST) that logically represents the filter expression string passed in, as well as the filter expression type (and optional user attributes).Methods in net.hydromatic.filtex with parameters of type AstNodeModifier and TypeMethodDescriptionstatic AstNodeTransforms.dateTransform(AstNode root) Applies the following transformations on the date AST: TODOstatic AstNodeTransforms.locationTransform(AstNode root) Applies the following transformations on the location AST: combine the value array on nodes of type '='static AstNodeTransforms.mergeMultiValueNodes(AstNode root, Op type, boolean mergeDifferentIsValue) Transforms the AST by combining sequential nodes of the same type into a single node.static AstNodeTransforms.numberTransform(AstNode root) Applies the following transformations on the number AST: combine the value array on nodes of type '=' -
Uses of AstNode in net.hydromatic.filtex.ast
Subclasses of AstNode in net.hydromatic.filtex.astModifier and TypeClassDescriptionstatic classstatic classGeographical box.static classCall with zero arguments, optionally negated.static classCall with one argument, optionally negated.static classCall with two arguments, optionally negated.static classGeographical circle.static classNumeric comparison.static classDate literal.static classDay literal.static classInterval, e.g.static classThis range, e.g.static classMatchesAdvanced.static classMonth range, e.g.static classNumeric range.static classstatic classGeographical box.static classDate range, e.g.static classDate range based on interval, e.g.static classstatic classstatic classE.g.static classThis range, e.g.static classThis or next unit, e.g.Fields in net.hydromatic.filtex.ast declared as AstNodeModifier and TypeFieldDescriptionfinal AstNodeAst.Call2.leftfinal AstNodeAst.Call1.nodeAst.Call2.rightMethods in net.hydromatic.filtex.ast that return AstNodeModifier and TypeMethodDescriptionAstBuilder.anywhere()Creates an anywhere location.static AstNodeEnsures that every node has a unique id.AstBuilder.between(boolean is, Bound leftBound, Bound rightBound, @Nullable BigDecimal left, @Nullable BigDecimal right) Creates a term representing a range, such as "[0, 10)", or a comparison, such as "> 5".AstBuilder.between(Op op, boolean is, BigDecimal number) Creates a term representing a one-sided range, such as "> 10" or "<= 0".Creates a box-shaped geographical region.AstBuilder.circle(BigDecimal distance, Unit unit, Location location) Creates a circular geographical region.Creates a day of week literal.AstBuilder.fiscalQuarter(int year, int quarter) Creates a fiscal year-quarter date literal.AstBuilder.fiscalYear(int year) Creates a fiscal year date literal.AstBuilder.isNotNull()Creates a term representing "not null" (for location).AstBuilder.isNull(boolean is) Creates a term representing "null" or "not null".AstBuilder.lastInterval(BigDecimal value, DatetimeUnit interval) AstBuilder.logicalExpression(List<AstNode> terms) Folds a list into a left-deep a logical expression.AstBuilder.logicalExpression(AstNode left, AstNode right) Creates a logical expression.AstBuilder.month(int year, int month) Creates a year-month date literal.AstBuilder.monthInterval(int year, int month, Ast.Interval end) AstBuilder.past(BigDecimal value, DatetimeUnit unit) AstBuilder.past(BigDecimal value, DatetimeUnit unit, boolean complete) Creates a point geographical region.AstBuilder.quarter(int year, int quarter) Creates a year-quarter date literal.AstBuilder.rangeInterval(Date start, Ast.Interval end) AstBuilder.relative(boolean fromNow, Ast.Interval startInterval) AstBuilder.relative1(boolean before, Op op, DatetimeUnit unit) AstBuilder.relativeRange(boolean fromNow, Ast.Interval startInterval, Ast.Interval endInterval) AstBuilder.relativeUnit(boolean before, boolean fromNow, BigDecimal value, DatetimeUnit unit) static @Nullable AstNodeAsts.removeNode(AstNode root, Integer nodeId) Removes node from the AST.AstBuilder.thisRange(DatetimeUnit startInterval, DatetimeUnit endInterval) AstBuilder.thisUnit(Op op, DatetimeUnit unit) AstBuilder.year(int year) Creates a year date literal.Methods in net.hydromatic.filtex.ast that return types with arguments of type AstNodeModifier and TypeMethodDescriptionAsts.treeToList(AstNode root) Converts a FilterAST to a list of FilterASTNodes using in order traversal (left, node, right)Methods in net.hydromatic.filtex.ast with parameters of type AstNodeModifier and TypeMethodDescriptionvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidabstract voidstatic AstNodeEnsures that every node has a unique id.static StringAsts.dateFilterToString(AstNode root, TypeFamily typeFamily) Converts the AST to an array of FilterItems and then converts each item into its expression representation.static StringSummary.describeLocation(AstNode node) voidCalled after the first child and before the second child of a node with two children.Appends a call to an infix operator.AstBuilder.logicalExpression(AstNode left, AstNode right) Creates a logical expression.Appends a call to a prefix operator.static @Nullable AstNodeAsts.removeNode(AstNode root, Integer nodeId) Removes node from the AST.Adds an AST sub-object.static StringSummary.summary(TypeFamily typeFamily, AstNode node, @Nullable String expression, List<Object> userAttributes) Builds a summary description for a filter expression.static voidWalks over a tree, applying a consumer to each node.Asts.treeToList(AstNode root) Converts a FilterAST to a list of FilterASTNodes using in order traversal (left, node, right)static StringGiven an AST and a nodeToString conversion function for that particular type of filter, it converts the AST to a string expression representation.voidvoidvoidvoidAstVisitorImpl.visit(Ast.Comparison literal, @Nullable AstNode parent) voidAstVisitorImpl.visit(Ast.MatchesAdvanced matchesAdvanced, @Nullable AstNode parent) voidAstVisitorImpl.visit(Ast.NumericRange range, @Nullable AstNode parent) Method parameters in net.hydromatic.filtex.ast with type arguments of type AstNodeModifier and TypeMethodDescriptionAstBuilder.logicalExpression(List<AstNode> terms) Folds a list into a left-deep a logical expression.static Posstatic voidWalks over a tree, applying a consumer to each node.static StringGiven an AST and a nodeToString conversion function for that particular type of filter, it converts the AST to a string expression representation.static StringGiven an AST and a nodeToString conversion function for that particular type of filter, it converts the AST to a string expression representation.Constructors in net.hydromatic.filtex.ast with parameters of type AstNode -
Uses of AstNode in net.hydromatic.filtex.parse
Methods in net.hydromatic.filtex.parse that return AstNodeModifier and TypeMethodDescriptionfinal AstNodeFiltexParserImpl.absoluteBeforeAfter()final AstNodeFiltexParserImpl.anywhere()final AstNodeFiltexParserImpl.box()final AstNodeFiltexParserImpl.circle()final AstNodeFiltexParserImpl.dateExpression()Parses a date expression.final AstNodeFiltexParserImpl.dateExpressionEof()Parses a date filter expression followed by end-of-file.final AstNodeFiltexParserImpl.dateTerm()Parses a date term.final AstNodeFiltexParserImpl.dayExpression()final AstNodeFiltexParserImpl.fiscalQuarter()final AstNodeFiltexParserImpl.fiscalYear()final AstNodeFiltexParserImpl.interval(boolean is) final AstNodeFiltexParserImpl.intervalComp1(boolean is) Special interval, ">= 7 AND <80.44" becomes "(7, 80.44)", and ">=80.44 OR <.1" becomes "(0.01, 80.44]".final AstNodeFiltexParserImpl.intervalComp2(boolean is) Special interval, second kind; "<=80.44 AND >.1" becomes "(0.01, 80.44]", and "<= 7 OR >80.44" becomes "[7, 80.44)".final AstNodeFiltexParserImpl.last()final AstNodeFiltexParserImpl.locationExpression()Parses a location expression.final AstNodeFiltexParserImpl.locationExpressionEof()Parses a location filter expression followed by end-of-file.final AstNodeFiltexParserImpl.nulls()final AstNodeFiltexParserImpl.numericExpression()Parses a numeric expression.final AstNodeFiltexParserImpl.numericExpressionEof()Parses a numeric filter expression followed by end-of-file.final AstNodeFiltexParserImpl.onDatetime()final AstNodeFiltexParserImpl.relativeRange()final AstNodeFiltexParserImpl.term()Parses a numeric term.final AstNodeFiltexParserImpl.thisNext()final AstNodeFiltexParserImpl.thisRange()final AstNodeFiltexParserImpl.to(boolean is) Parses a range (such as "5 to 10", "to 10", "5 to"), and also a numeric literal (such as "5").final AstNodeFiltexParserImpl.userAttribute()final AstNodeFiltexParserImpl.year()final AstNodeFiltexParserImpl.yearMonth()final AstNodeFiltexParserImpl.yearQuarter()Method parameters in net.hydromatic.filtex.parse with type arguments of type AstNode