Package org.apache.sling.scripting.sightly.compiler.expression

## Class SideEffectVisitor

- java.lang.Object
- - org.apache.sling.scripting.sightly.compiler.expression.SideEffectVisitor

All Implemented Interfaces:
  `NodeVisitor<Object>`

Direct Known Subclasses:
  `VariableFinder`

    public abstract class SideEffectVisitor
    extends Object
    implements NodeVisitor<Object>

Expression visitor which does not return anything for nodes; instead it performs specific side-effects depending on the expression nodes types.

### Constructor Summary

Constructors
`SideEffectVisitor()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`Object` `evaluate​(ArrayLiteral arrayLiteral)` Evaluate a `ArrayLiteral` node.
`Object` `evaluate​(BinaryOperation binaryOperation)` Evaluate a `BinaryOperation` node.
`Object` `evaluate​(BooleanConstant booleanConstant)` Evaluate a `BooleanConstant` node.
`Object` `evaluate​(Identifier identifier)` Evaluate an `Identifier` node.
`Object` `evaluate​(MapLiteral mapLiteral)` Evaluate a `MapLiteral` node.
`Object` `evaluate​(NullLiteral nullLiteral)` Evaluate a `NullLiteral` node.
`Object` `evaluate​(NumericConstant numericConstant)` Evaluate a `NumericConstant` node.
`Object` `evaluate​(PropertyAccess propertyAccess)` Evaluate a `PropertyAccess` node.
`Object` `evaluate​(RuntimeCall runtimeCall)` Evaluate a `RuntimeCall` node.
`Object` `evaluate​(StringConstant text)` Evaluate a `StringConstant` node.
`Object` `evaluate​(TernaryOperator ternaryOperator)` Evaluate a `TernaryOperator` node.
`Object` `evaluate​(UnaryOperation unaryOperation)` Evaluate a `UnaryOperation` node.
`abstract void` `visit​(ArrayLiteral arrayLiteral)`
`abstract void` `visit​(BinaryOperation binaryOperation)`
`abstract void` `visit​(BooleanConstant booleanConstant)`
`abstract void` `visit​(Identifier identifier)`
`abstract void` `visit​(MapLiteral mapLiteral)`
`abstract void` `visit​(NullLiteral nullLiteral)`
`abstract void` `visit​(NumericConstant numericConstant)`
`abstract void` `visit​(PropertyAccess propertyAccess)`
`abstract void` `visit​(RuntimeCall runtimeCall)`
`abstract void` `visit​(StringConstant text)`
`abstract void` `visit​(TernaryOperator ternaryOperator)`
`abstract void` `visit​(UnaryOperation unaryOperation)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SideEffectVisitor

    public SideEffectVisitor()

### Method Detail

#### visit

    public abstract void visit​(PropertyAccess propertyAccess)

#### visit

    public abstract void visit​(Identifier identifier)

#### visit

    public abstract void visit​(StringConstant text)

#### visit

    public abstract void visit​(BinaryOperation binaryOperation)

#### visit

    public abstract void visit​(BooleanConstant booleanConstant)

#### visit

    public abstract void visit​(NumericConstant numericConstant)

#### visit

    public abstract void visit​(UnaryOperation unaryOperation)

#### visit

    public abstract void visit​(TernaryOperator ternaryOperator)

#### visit

    public abstract void visit​(RuntimeCall runtimeCall)

#### visit

    public abstract void visit​(MapLiteral mapLiteral)

#### visit

    public abstract void visit​(ArrayLiteral arrayLiteral)

#### visit

    public abstract void visit​(NullLiteral nullLiteral)

#### evaluate

    public Object evaluate​(PropertyAccess propertyAccess)

Description copied from interface: `NodeVisitor`
Evaluate a `PropertyAccess` node.

Specified by:
  `evaluate` in interface `NodeVisitor<Object>`
Parameters:
  `propertyAccess` - the node to evaluate
Returns:
  the evaluation result

#### evaluate

    public Object evaluate​(Identifier identifier)

Description copied from interface: `NodeVisitor`
Evaluate an `Identifier` node.

Specified by:
  `evaluate` in interface `NodeVisitor<Object>`
Parameters:
  `identifier` - the node to evaluate
Returns:
  the evaluation result

#### evaluate

    public Object evaluate​(StringConstant text)

Description copied from interface: `NodeVisitor`
Evaluate a `StringConstant` node.

Specified by:
  `evaluate` in interface `NodeVisitor<Object>`
Parameters:
  `text` - the node to evaluate
Returns:
  the evaluation result

#### evaluate

    public Object evaluate​(BinaryOperation binaryOperation)

Description copied from interface: `NodeVisitor`
Evaluate a `BinaryOperation` node.

Specified by:
  `evaluate` in interface `NodeVisitor<Object>`
Parameters:
  `binaryOperation` - the node to evaluate
Returns:
  the evaluation result

#### evaluate

    public Object evaluate​(BooleanConstant booleanConstant)

Description copied from interface: `NodeVisitor`
Evaluate a `BooleanConstant` node.

Specified by:
  `evaluate` in interface `NodeVisitor<Object>`
Parameters:
  `booleanConstant` - the node to evaluate
Returns:
  the evaluation result

#### evaluate

    public Object evaluate​(NumericConstant numericConstant)

Description copied from interface: `NodeVisitor`
Evaluate a `NumericConstant` node.

Specified by:
  `evaluate` in interface `NodeVisitor<Object>`
Parameters:
  `numericConstant` - the node to evaluate
Returns:
  the evaluation result

#### evaluate

    public Object evaluate​(UnaryOperation unaryOperation)

Description copied from interface: `NodeVisitor`
Evaluate a `UnaryOperation` node.

Specified by:
  `evaluate` in interface `NodeVisitor<Object>`
Parameters:
  `unaryOperation` - the node to evaluate
Returns:
  the evaluation result

#### evaluate

    public Object evaluate​(TernaryOperator ternaryOperator)

Description copied from interface: `NodeVisitor`
Evaluate a `TernaryOperator` node.

Specified by:
  `evaluate` in interface `NodeVisitor<Object>`
Parameters:
  `ternaryOperator` - the node to evaluate
Returns:
  the evaluation result

#### evaluate

    public Object evaluate​(RuntimeCall runtimeCall)

Description copied from interface: `NodeVisitor`
Evaluate a `RuntimeCall` node.

Specified by:
  `evaluate` in interface `NodeVisitor<Object>`
Parameters:
  `runtimeCall` - the node to evaluate
Returns:
  the evaluation result

#### evaluate

    public Object evaluate​(MapLiteral mapLiteral)

Description copied from interface: `NodeVisitor`
Evaluate a `MapLiteral` node.

Specified by:
  `evaluate` in interface `NodeVisitor<Object>`
Parameters:
  `mapLiteral` - the node to evaluate
Returns:
  the evaluation result

#### evaluate

    public Object evaluate​(ArrayLiteral arrayLiteral)

Description copied from interface: `NodeVisitor`
Evaluate a `ArrayLiteral` node.

Specified by:
  `evaluate` in interface `NodeVisitor<Object>`
Parameters:
  `arrayLiteral` - the node to evaluate
Returns:
  the evaluation result

#### evaluate

    public Object evaluate​(NullLiteral nullLiteral)

Description copied from interface: `NodeVisitor`
Evaluate a `NullLiteral` node.

Specified by:
  `evaluate` in interface `NodeVisitor<Object>`
Parameters:
  `nullLiteral` - the node to evaluate
Returns:
  the evaluation result