Package org.zkoss.zel.impl.parser

## Interface Node

- All Known Implementing Classes:
    `ArithmeticNode`, `AstAnd`, `AstAssign`, `AstBracketSuffix`, `AstChoice`, `AstCompositeExpression`, `AstConcatenation`, `AstDeferredExpression`, `AstDiv`, `AstDotSuffix`, `AstDynamicExpression`, `AstEmpty`, `AstEqual`, `AstFalse`, `AstFloatingPoint`, `AstFunction`, `AstGreaterThan`, `AstGreaterThanEqual`, `AstIdentifier`, `AstInteger`, `AstLambdaExpression`, `AstLambdaParameters`, `AstLessThan`, `AstLessThanEqual`, `AstListData`, `AstLiteralExpression`, `AstMapData`, `AstMapEntry`, `AstMethodParameters`, `AstMinus`, `AstMod`, `AstMult`, `AstNegative`, `AstNot`, `AstNotEqual`, `AstNull`, `AstOr`, `AstPlus`, `AstSemicolon`, `AstSetData`, `AstString`, `AstTrue`, `AstValue`, `BooleanNode`, `SimpleNode`

      public interface Node

  Author:
    Jacob Hookom [jacob@hookom.net]

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `accept​(NodeVisitor visitor)` |
    `java.lang.String` | `getImage()` |
    `MethodInfo` | `getMethodInfo​(EvaluationContext ctx, java.lang.Class<?>[] paramTypes)` |
    `java.lang.Class<?>` | `getType​(EvaluationContext ctx)` |
    `java.lang.Object` | `getValue​(EvaluationContext ctx)` |
    `ValueReference` | `getValueReference​(EvaluationContext ctx)` |
    `java.lang.Object` | `invoke​(EvaluationContext ctx, java.lang.Class<?>[] paramTypes, java.lang.Object[] paramValues)` |
    `boolean` | `isParametersProvided()` |
    `boolean` | `isReadOnly​(EvaluationContext ctx)` |
    `void` | `jjtAddChild​(Node n, int i)` | This method tells the node to add its argument to the node's list of children.
    `void` | `jjtClose()` | This method is called after all the child nodes have been added.
    `Node` | `jjtGetChild​(int i)` | This method returns a child node.
    `int` | `jjtGetNumChildren()` | Return the number of children the node has.
    `Node` | `jjtGetParent()` |
    `void` | `jjtOpen()` | This method is called after the node has been made the current node.
    `void` | `jjtSetParent​(Node n)` | This pair of methods are used to inform the node of its parent.
    `void` | `setValue​(EvaluationContext ctx, java.lang.Object value)` |

- - ### Method Detail

    - #### jjtOpen

          void jjtOpen()

      This method is called after the node has been made the current node. It indicates that child nodes can now be added to it.

    - #### jjtClose

          void jjtClose()

      This method is called after all the child nodes have been added.

    - #### jjtSetParent

          void jjtSetParent​(Node n)

      This pair of methods are used to inform the node of its parent.

    - #### jjtGetParent

          Node jjtGetParent()

    - #### jjtAddChild

          void jjtAddChild​(Node n,
                           int i)

      This method tells the node to add its argument to the node's list of children.

    - #### jjtGetChild

          Node jjtGetChild​(int i)

      This method returns a child node. The children are numbered from zero, left to right.

    - #### jjtGetNumChildren

          int jjtGetNumChildren()

      Return the number of children the node has.

    - #### getImage

          java.lang.String getImage()

    - #### getValue

          java.lang.Object getValue​(EvaluationContext ctx)
                             throws ELException

      Throws:
        `ELException`

    - #### setValue

          void setValue​(EvaluationContext ctx,
                        java.lang.Object value)
                 throws ELException

      Throws:
        `ELException`

    - #### getType

          java.lang.Class<?> getType​(EvaluationContext ctx)
                              throws ELException

      Throws:
        `ELException`

    - #### isReadOnly

          boolean isReadOnly​(EvaluationContext ctx)
                      throws ELException

      Throws:
        `ELException`

    - #### accept

          void accept​(NodeVisitor visitor)
               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getMethodInfo

          MethodInfo getMethodInfo​(EvaluationContext ctx,
                                   java.lang.Class<?>[] paramTypes)
                            throws ELException

      Throws:
        `ELException`

    - #### invoke

          java.lang.Object invoke​(EvaluationContext ctx,
                                  java.lang.Class<?>[] paramTypes,
                                  java.lang.Object[] paramValues)
                           throws ELException

      Throws:
        `ELException`

    - #### getValueReference

          ValueReference getValueReference​(EvaluationContext ctx)

      Since:
        EL 2.2

    - #### isParametersProvided

          boolean isParametersProvided()

      Since:
        EL 2.2