## Uses of Interface
org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode

Packages that use ExpressionNode
org.apache.sling.scripting.sightly.compiler.commands: The `org.apache.sling.scripting.sightly.compiler.commands` package defines the API for `Command` processing.
org.apache.sling.scripting.sightly.compiler.expression: The `org.apache.sling.scripting.sightly.compiler.expression` package defines the API for `Expression` processing.
org.apache.sling.scripting.sightly.compiler.expression.nodes: The `org.apache.sling.scripting.sightly.compiler.expression.nodes` package exposes the various `ExpressionNode` types.
org.apache.sling.scripting.sightly.impl.compiler.optimization
org.apache.sling.scripting.sightly.impl.compiler.optimization.reduce
org.apache.sling.scripting.sightly.impl.compiler.util.expression
org.apache.sling.scripting.sightly.impl.filter
org.apache.sling.scripting.sightly.impl.parser.expr.generated
org.apache.sling.scripting.sightly.impl.plugin

### Uses of ExpressionNode in org.apache.sling.scripting.sightly.compiler.commands

Methods in org.apache.sling.scripting.sightly.compiler.commands that return ExpressionNode
`ExpressionNode` VariableBinding.Global.`getExpression()`
`ExpressionNode` VariableBinding.Start.`getExpression()`

Constructors in org.apache.sling.scripting.sightly.compiler.commands with parameters of type ExpressionNode
`Global​(String variableName, ExpressionNode expressionNode)`
`Start​(String variableName, ExpressionNode expression)`

### Uses of ExpressionNode in org.apache.sling.scripting.sightly.compiler.expression

Methods in org.apache.sling.scripting.sightly.compiler.expression that return ExpressionNode
`ExpressionNode` Expression.`getRoot()` Get the root node of this expression.
`ExpressionNode` Expression.`removeOption​(String option)` Removes the given option from this expression.

Methods in org.apache.sling.scripting.sightly.compiler.expression that return types with arguments of type ExpressionNode
`Map<String,​ExpressionNode>` Expression.`getOptions()` Get the options for this expression.

Methods in org.apache.sling.scripting.sightly.compiler.expression with parameters of type ExpressionNode
`Expression` Expression.`withNode​(ExpressionNode node)` Return a copy, but with the specified node as root.

Constructors in org.apache.sling.scripting.sightly.compiler.expression with parameters of type ExpressionNode
`Expression​(ExpressionNode root)` Create an expression with just a root node.
`Expression​(ExpressionNode root, Map<String,​ExpressionNode> options)` Create an expression with a root node and options.
`Expression​(ExpressionNode root, Map<String,​ExpressionNode> options, String rawText)` Create an expression with a root node and options.

Constructor parameters in org.apache.sling.scripting.sightly.compiler.expression with type arguments of type ExpressionNode
`Expression​(ExpressionNode root, Map<String,​ExpressionNode> options)` Create an expression with a root node and options.
`Expression​(ExpressionNode root, Map<String,​ExpressionNode> options, String rawText)` Create an expression with a root node and options.

### Uses of ExpressionNode in org.apache.sling.scripting.sightly.compiler.expression.nodes

Subinterfaces of ExpressionNode in org.apache.sling.scripting.sightly.compiler.expression.nodes
`interface` `Atom` An `Atom` defines an `ExpressionNode` that can be translated to simple text, like identifiers or primitive constants (strings, booleans and numbers).

Classes in org.apache.sling.scripting.sightly.compiler.expression.nodes that implement ExpressionNode
`class` `ArrayLiteral` Syntactical structure for an array of items.
`class` `BinaryOperation` A {code BinaryOperation} defines an expression where a binary operator is applied (e.g.
`class` `BooleanConstant` Defines a Boolean constant (e.g.
`class` `Identifier` Defines a single variable.
`class` `MapLiteral` Defines a syntactical construction representing a map.
`class` `NullLiteral` Defines the null literal.
`class` `NumericConstant` Defines a numeric constant expression (e.g.
`class` `PropertyAccess` Defines an expression in which an object is queried for a specific property (e.g.
`class` `RuntimeCall` A `RuntimeCall` is a special expression which provides access to utility functions from the runtime.
`class` `StringConstant` Defines a simple string constant (e.g.
`class` `TernaryOperator` Defines the HTL ternary operator (e.g.
`class` `UnaryOperation` Defines a unary operation (e.g.

Methods in org.apache.sling.scripting.sightly.compiler.expression.nodes that return ExpressionNode
`ExpressionNode` TernaryOperator.`getCondition()` Returns the condition of this operator.
`ExpressionNode` TernaryOperator.`getElseBranch()` Returns the "else" branch.
`ExpressionNode` BinaryOperation.`getLeftOperand()` Returns the left operand.
`ExpressionNode` PropertyAccess.`getProperty()` Returns the expression node identifying the accessed property.
`ExpressionNode` BinaryOperation.`getRightOperand()` Returns the right operand.
`ExpressionNode` PropertyAccess.`getTarget()` The object being accessed.
`ExpressionNode` UnaryOperation.`getTarget()` Returns the target to which the operation is applied.
`ExpressionNode` TernaryOperator.`getThenBranch()` Returns the "then" branch.
`ExpressionNode` MapLiteral.`getValue​(String key)` Returns an `ExpressionNode` from the backing map.

Methods in org.apache.sling.scripting.sightly.compiler.expression.nodes that return types with arguments of type ExpressionNode
`List<ExpressionNode>` RuntimeCall.`getArguments()` Get the nodes of the argument calls.
`List<ExpressionNode>` ArrayLiteral.`getItems()` Returns an unmodifiable `List` containing the array's elements.
`Map<String,​ExpressionNode>` MapLiteral.`getMap()` Returns an unmodifiable view of the backing map.

Constructors in org.apache.sling.scripting.sightly.compiler.expression.nodes with parameters of type ExpressionNode
`BinaryOperation​(BinaryOperator operator, ExpressionNode leftOperand, ExpressionNode rightOperand)` Creates a `BinaryOperation`.
`BinaryOperation​(BinaryOperator operator, ExpressionNode leftOperand, ExpressionNode rightOperand, Expression parentExpression)` Creates a `BinaryOperation`.
`PropertyAccess​(ExpressionNode target, Iterable<String> properties)` Builds a chained property access node with the given target and the specified properties.
`PropertyAccess​(ExpressionNode target, String property)` Creates a property access node.
`PropertyAccess​(ExpressionNode target, ExpressionNode property)` Creates a property access node.
`RuntimeCall​(String functionName, ExpressionNode... arguments)` Creates a `RuntimeCall` based on a `functionName` and an array of `arguments`.
`TernaryOperator​(ExpressionNode condition, ExpressionNode thenBranch, ExpressionNode elseBranch)` Creates the operator.
`UnaryOperation​(UnaryOperator operator, ExpressionNode target)` Creates a `UnaryOperation`.

Constructor parameters in org.apache.sling.scripting.sightly.compiler.expression.nodes with type arguments of type ExpressionNode
`ArrayLiteral​(List<ExpressionNode> items)` Creates an array from a list of `ExpressionNode` elements.
`MapLiteral​(Map<String,​ExpressionNode> map)` Creates a map representation.
`RuntimeCall​(String functionName, List<ExpressionNode> arguments)` Creates a `RuntimeCall` based on a `functionName` and a list of `arguments`.

### Uses of ExpressionNode in org.apache.sling.scripting.sightly.impl.compiler.optimization

Methods in org.apache.sling.scripting.sightly.impl.compiler.optimization with parameters of type ExpressionNode
`static Set<String>` VariableFinder.`findVariables​(ExpressionNode node)`

### Uses of ExpressionNode in org.apache.sling.scripting.sightly.impl.compiler.optimization.reduce

Methods in org.apache.sling.scripting.sightly.impl.compiler.optimization.reduce that return ExpressionNode
`ExpressionNode` EvalResult.`getNode()`

Methods in org.apache.sling.scripting.sightly.impl.compiler.optimization.reduce with parameters of type ExpressionNode
`static EvalResult` EvalResult.`nonConstant​(ExpressionNode node)`
`static EvalResult` ExpressionReducer.`reduce​(ExpressionNode node, VariableTracker<EvalResult> tracker)`

### Uses of ExpressionNode in org.apache.sling.scripting.sightly.impl.compiler.util.expression

Methods in org.apache.sling.scripting.sightly.impl.compiler.util.expression that return ExpressionNode
`ExpressionNode` NodeTransformer.`evaluate​(ArrayLiteral arrayLiteral)`
`ExpressionNode` NodeTransformer.`evaluate​(BinaryOperation binaryOperation)`
`ExpressionNode` NodeTransformer.`evaluate​(BooleanConstant booleanConstant)`
`ExpressionNode` NodeTransformer.`evaluate​(Identifier identifier)`
`ExpressionNode` NodeTransformer.`evaluate​(MapLiteral mapLiteral)`
`ExpressionNode` NodeTransformer.`evaluate​(NullLiteral nullLiteral)`
`ExpressionNode` NodeTransformer.`evaluate​(NumericConstant numericConstant)`
`ExpressionNode` NodeTransformer.`evaluate​(PropertyAccess propertyAccess)`
`ExpressionNode` NodeTransformer.`evaluate​(RuntimeCall runtimeCall)`
`ExpressionNode` NodeTransformer.`evaluate​(StringConstant text)`
`ExpressionNode` NodeTransformer.`evaluate​(TernaryOperator ternaryOperator)`
`ExpressionNode` NodeTransformer.`evaluate​(UnaryOperation unaryOperation)`
`ExpressionNode` NodeTransformer.`transform​(ExpressionNode node)`

Methods in org.apache.sling.scripting.sightly.impl.compiler.util.expression with parameters of type ExpressionNode
`ExpressionNode` NodeTransformer.`transform​(ExpressionNode node)`

### Uses of ExpressionNode in org.apache.sling.scripting.sightly.impl.filter

Method parameters in org.apache.sling.scripting.sightly.impl.filter with type arguments of type ExpressionNode
`protected abstract Expression` AbstractFilter.`apply​(Expression expression, Map<String,​ExpressionNode> options)`
`protected Expression` FormatFilter.`apply​(Expression expression, Map<String,​ExpressionNode> options)`
`protected Expression` I18nFilter.`apply​(Expression expression, Map<String,​ExpressionNode> options)`
`protected Expression` JoinFilter.`apply​(Expression expression, Map<String,​ExpressionNode> options)`
`protected Expression` URIManipulationFilter.`apply​(Expression expression, Map<String,​ExpressionNode> options)`
`protected Expression` XSSFilter.`apply​(Expression expression, Map<String,​ExpressionNode> options)`

### Uses of ExpressionNode in org.apache.sling.scripting.sightly.impl.parser.expr.generated

Fields in org.apache.sling.scripting.sightly.impl.parser.expr.generated declared as ExpressionNode
`ExpressionNode` SightlyParser.AndBinaryOpContext.`node`
`ExpressionNode` SightlyParser.ComparisonTermContext.`node`
`ExpressionNode` SightlyParser.ExprNodeContext.`node`
`ExpressionNode` SightlyParser.FactorContext.`node`
`ExpressionNode` SightlyParser.FieldContext.`node`
`ExpressionNode` SightlyParser.InBinaryOpContext.`node`
`ExpressionNode` SightlyParser.OrBinaryOpContext.`node`
`ExpressionNode` SightlyParser.SimpleContext.`node`
`ExpressionNode` SightlyParser.TermContext.`node`
`ExpressionNode` SightlyParser.OptionContext.`value`

Fields in org.apache.sling.scripting.sightly.impl.parser.expr.generated with type parameters of type ExpressionNode
`Map<String,​ExpressionNode>` SightlyParser.OptionListContext.`options`
`List<ExpressionNode>` SightlyParser.ValueListContext.`values`

### Uses of ExpressionNode in org.apache.sling.scripting.sightly.impl.plugin

Fields in org.apache.sling.scripting.sightly.impl.plugin with type parameters of type ExpressionNode
`static Set<ExpressionNode>` ElementPlugin.`VOID_ELEMENTS`

Methods in org.apache.sling.scripting.sightly.impl.plugin with parameters of type ExpressionNode
`void` AggregatePluginInvoke.`beforeAttributeValue​(PushStream stream, String attributeName, ExpressionNode attributeValue)`
`void` DefaultPluginInvoke.`beforeAttributeValue​(PushStream stream, String attributeName, ExpressionNode attributeValue)`
`void` PluginInvoke.`beforeAttributeValue​(PushStream stream, String attributeName, ExpressionNode attributeValue)`