Uses of Interface
com.schibsted.spt.data.jslt.impl.ExpressionNode
Packages that use ExpressionNode
Package
Description
This package contains implementation-internal interfaces and classes.
The implementation of the JSLT parser.
-
Uses of ExpressionNode in com.schibsted.spt.data.jslt.impl
Classes in com.schibsted.spt.data.jslt.impl that implement ExpressionNodeModifier and TypeClassDescriptionclassCommon superclass for function and macro expressions, to avoid having to repeat so much code.classclassShared abstract superclass for comparison operators and others.classclassclassIndexing and slicing of arrays and also strings.classclassclassclassclassclassclassThese expression cannot be generated in the syntax, but are used to mark that an object matcher (* : .) is being used inside an array, which is not allowed.classclassclassclassclassclassclassclassRepresents the '* - ...classclassclassclassclassclassclassRepresents a ("key" : expr) pair inside a JSON object.classclassclassclassclassclassFields in com.schibsted.spt.data.jslt.impl declared as ExpressionNodeModifier and TypeFieldDescriptionprivate ExpressionNodeExpressionImpl.actualprotected ExpressionNode[]AbstractInvocationExpression.argumentsprivate ExpressionNodeFunctionDeclaration.bodyprivate ExpressionNode[]ArrayExpression.childrenprivate ExpressionNodeMatcherExpression.exprprivate ExpressionNodeForExpression.ifExprprivate ExpressionNodeObjectComprehension.ifExprprivate ExpressionNodeObjectComprehension.keyprivate ExpressionNodePairExpression.keyprotected ExpressionNodeAbstractOperator.leftprivate ExpressionNodeArraySlicer.leftprivate ExpressionNodeObjectComprehension.loopprivate ExpressionNodeForExpression.loopExprprivate ExpressionNodeIfExpression.orelseprivate ExpressionNodeArraySlicer.parentprivate ExpressionNodeDotExpression.parentprotected ExpressionNodeAbstractOperator.rightprivate ExpressionNodeArraySlicer.rightprivate ExpressionNodeIfExpression.testprivate ExpressionNodeIfExpression.thenprivate ExpressionNodeLetExpression.valueprivate ExpressionNodeObjectComprehension.valueprivate ExpressionNodePairExpression.valueprivate ExpressionNodeForExpression.valueExprMethods in com.schibsted.spt.data.jslt.impl that return ExpressionNodeModifier and TypeMethodDescriptionLetExpression.getDeclaration()LetInfo.getDeclaration()VariableInfo.getDeclaration()The expression that computes this variable's value.AbstractOperator.getLeft()AbstractOperator.getRight()AbstractInvocationExpression.optimize()AbstractNode.optimize()AbstractOperator.optimize()ArrayExpression.optimize()ArraySlicer.optimize()DotExpression.optimize()ExpressionNode.optimize()ForExpression.optimize()FunctionDeclaration.optimize()FunctionExpression.optimize()IfExpression.optimize()LetExpression.optimize()MatcherExpression.optimize()ObjectComprehension.optimize()ObjectExpression.optimize()PairExpression.optimize()VariableExpression.optimize()Methods in com.schibsted.spt.data.jslt.impl that return types with arguments of type ExpressionNodeModifier and TypeMethodDescriptionAbstractInvocationExpression.getChildren()AbstractNode.getChildren()AbstractOperator.getChildren()ArrayExpression.getChildren()ArraySlicer.getChildren()DotExpression.getChildren()ExpressionImpl.getChildren()ExpressionNode.getChildren()ForExpression.getChildren()IfExpression.getChildren()LetExpression.getChildren()MatcherExpression.getChildren()ObjectComprehension.getChildren()ObjectExpression.getChildren()PairExpression.getChildren()Methods in com.schibsted.spt.data.jslt.impl with parameters of type ExpressionNodeModifier and TypeMethodDescriptioncom.fasterxml.jackson.databind.JsonNodeBuiltinFunctions.Fallback.call(Scope scope, com.fasterxml.jackson.databind.JsonNode input, ExpressionNode[] parameters) com.fasterxml.jackson.databind.JsonNodeExperimentalModule.GroupBy.call(Scope scope, com.fasterxml.jackson.databind.JsonNode input, ExpressionNode[] parameters) com.fasterxml.jackson.databind.JsonNodeMacro.call(Scope scope, com.fasterxml.jackson.databind.JsonNode input, ExpressionNode[] parameters) Invokes the macro, which can then modify the input node and evaluate the parameters as needed.private intArraySlicer.resolveIndex(Scope scope, ExpressionNode expr, com.fasterxml.jackson.databind.JsonNode input, int size, int ifnull) Constructors in com.schibsted.spt.data.jslt.impl with parameters of type ExpressionNodeModifierConstructorDescriptionAbstractInvocationExpression(ExpressionNode[] arguments, Location location) AbstractOperator(ExpressionNode left, ExpressionNode right, String operator, Location location) AndOperator(ExpressionNode left, ExpressionNode right, Location location) ArrayExpression(ExpressionNode[] children, Location location) ArraySlicer(ExpressionNode left, boolean colon, ExpressionNode right, ExpressionNode parent, Location location) BiggerComparison(ExpressionNode left, ExpressionNode right, Location location) BiggerOrEqualComparison(ExpressionNode left, ExpressionNode right, Location location) ComparisonOperator(ExpressionNode left, ExpressionNode right, String operator, Location location) DivideOperator(ExpressionNode left, ExpressionNode right, Location location) DotExpression(String key, ExpressionNode parent, Location location) EqualsComparison(ExpressionNode left, ExpressionNode right, Location location) ExpressionImpl(LetExpression[] lets, Map<String, Function> functions, ExpressionNode actual) ForExpression(ExpressionNode valueExpr, LetExpression[] lets, ExpressionNode loopExpr, ExpressionNode ifExpr, Location location) FunctionDeclaration(String name, String[] parameters, LetExpression[] lets, ExpressionNode body) FunctionExpression(String name, ExpressionNode[] arguments, Location location) IfExpression(ExpressionNode test, LetExpression[] thenlets, ExpressionNode then, LetExpression[] elselets, ExpressionNode orelse, Location location) LetExpression(String variable, ExpressionNode value, Location location) MacroExpression(Macro macro, ExpressionNode[] arguments, Location location) MatcherExpression(ExpressionNode expr, List<String> minuses, Location location) MinusOperator(ExpressionNode left, ExpressionNode right, Location location) MultiplyOperator(ExpressionNode left, ExpressionNode right, Location location) NumericOperator(ExpressionNode left, ExpressionNode right, String name, Location location) ObjectComprehension(ExpressionNode loop, LetExpression[] lets, ExpressionNode key, ExpressionNode value, ExpressionNode ifExpr, Location location, JsonFilter filter) OrOperator(ExpressionNode left, ExpressionNode right, Location location) PairExpression(ExpressionNode key, ExpressionNode value, Location location) PipeOperator(ExpressionNode left, ExpressionNode right, Location location) PlusOperator(ExpressionNode left, ExpressionNode right, Location location) SmallerComparison(ExpressionNode left, ExpressionNode right, Location location) SmallerOrEqualsComparison(ExpressionNode left, ExpressionNode right, Location location) UnequalsComparison(ExpressionNode left, ExpressionNode right, Location location) -
Uses of ExpressionNode in com.schibsted.spt.data.jslt.parser
Methods in com.schibsted.spt.data.jslt.parser that return ExpressionNodeModifier and TypeMethodDescriptionprivate static ExpressionNodeParserImpl.buildArraySlicer(ParseContext ctx, SimpleNode node, ExpressionNode parent) private static ExpressionNodeParserImpl.buildChainLink(ParseContext ctx, SimpleNode node, ExpressionNode parent) private static ExpressionNodeParserImpl.buildDotChain(ParseContext ctx, SimpleNode chainLink, ExpressionNode parent) private static ExpressionNodeParserImpl.chainable2Expr(ParseContext ctx, SimpleNode node) private static ExpressionNode[]ParserImpl.children2Exprs(ParseContext ctx, SimpleNode node) private static ExpressionNodeParserImpl.node2addexpr(ParseContext ctx, SimpleNode node) private static ExpressionNodeParserImpl.node2andexpr(ParseContext ctx, SimpleNode node) private static ExpressionNodeParserImpl.node2baseExpr(ParseContext ctx, SimpleNode node) private static ExpressionNodeParserImpl.node2compexpr(ParseContext ctx, SimpleNode node) private static ExpressionNodeParserImpl.node2expr(ParseContext ctx, SimpleNode node) private static ExpressionNodeParserImpl.node2mulexpr(ParseContext ctx, SimpleNode node) private static ExpressionNodeParserImpl.node2orexpr(ParseContext ctx, SimpleNode node) Methods in com.schibsted.spt.data.jslt.parser with parameters of type ExpressionNodeModifier and TypeMethodDescriptionprivate static ExpressionNodeParserImpl.buildArraySlicer(ParseContext ctx, SimpleNode node, ExpressionNode parent) private static ExpressionNodeParserImpl.buildChainLink(ParseContext ctx, SimpleNode node, ExpressionNode parent) private static ExpressionNodeParserImpl.buildDotChain(ParseContext ctx, SimpleNode chainLink, ExpressionNode parent)