org.apache.commons.jexl3.parser

## Class SimpleNode

- java.lang.Object
- - org.apache.commons.jexl3.parser.SimpleNode

- All Implemented Interfaces:
    Node
  Direct Known Subclasses:
    JexlNode

      public class SimpleNode
      extends Object
      implements Node

  A class originally generated by JJTree with the following JavaCCOptions: MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY= Works around issue https://javacc.dev.java.net/issues/show_bug.cgi?id=227 As soon as this issue if fixed and the maven plugin uses the correct version of Javacc, this class can go away. The technical goal is to ensure every reference made in the parser was to a JexlNode; unfortunately, as in javacc 4.1, it still uses a SimpleNode reference in the generated ParserVisitor. Besides, there is no need to keep the parser around in the node. The functional goal is to a allow a volatile value in the node so it can serve as a last evaluation cache even in multi-threaded executions.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `id` The node type id.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleNode(int i)` Creates a SimpleNode instance.
    `SimpleNode(Parser p, int i)` Creates a SimpleNode instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `childrenAccept(ParserVisitor visitor, Object data)` Accept the visitor on all this node's children.
    `void` | `dump(String prefix)`
    `Object` | `jjtAccept(ParserVisitor visitor, Object data)` Accept the visitor.
    `void` | `jjtAddChild(Node n, int i)` Adds a child node.
    `void` | `jjtClose()` This method is called after all the child nodes have been added.
    `JexlNode` | `jjtGetChild(int i)` Gets a child of this node.
    `int` | `jjtGetNumChildren()` Gets this node number of children.
    `JexlNode` | `jjtGetParent()` Gets this node's parent.
    `Object` | `jjtGetValue()` Gets this node value.
    `void` | `jjtOpen()` This method is called after the node has been made the current node.
    `void` | `jjtSetParent(Node n)` Sets this node's parent.
    `void` | `jjtSetValue(Object value)` Sets this node value.
    `String` | `toString()`
    `String` | `toString(String prefix)`

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

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

- - ### Field Detail

    - #### id

          protected final int id

      The node type id.

  - ### Constructor Detail

    - #### SimpleNode

          public SimpleNode(int i)

      Creates a SimpleNode instance.
      Parameters:
        `i` - the node type identifier

    - #### SimpleNode

          public SimpleNode(Parser p,
                    int i)

      Creates a SimpleNode instance.
      Parameters:
        `p` - the parser instance
        `i` - the node type identifier

  - ### Method Detail

    - #### jjtOpen

          public void jjtOpen()

      Description copied from interface: `Node`
      This method is called after the node has been made the current node. It indicates that child nodes can now be added to it.
      Specified by:
        `jjtOpen` in interface `Node`

    - #### jjtClose

          public void jjtClose()

      Description copied from interface: `Node`
      This method is called after all the child nodes have been added.
      Specified by:
        `jjtClose` in interface `Node`

    - #### jjtSetParent

          public void jjtSetParent(Node n)

      Sets this node's parent.
      Specified by:
        `jjtSetParent` in interface `Node`
      Parameters:
        `n` - the parent

    - #### jjtGetParent

          public JexlNode jjtGetParent()

      Gets this node's parent.
      Specified by:
        `jjtGetParent` in interface `Node`
      Returns:
        the parent node

    - #### jjtAddChild

          public void jjtAddChild(Node n,
                         int i)

      Adds a child node.
      Specified by:
        `jjtAddChild` in interface `Node`
      Parameters:
        `n` - the child node
        `i` - the child offset

    - #### jjtGetChild

          public JexlNode jjtGetChild(int i)

      Gets a child of this node.
      Specified by:
        `jjtGetChild` in interface `Node`
      Parameters:
        `i` - the child offset
      Returns:
        the child node

    - #### jjtGetNumChildren

          public int jjtGetNumChildren()

      Gets this node number of children.
      Specified by:
        `jjtGetNumChildren` in interface `Node`
      Returns:
        the number of children

    - #### jjtSetValue

          public void jjtSetValue(Object value)

      Sets this node value.
      Parameters:
        `value` -

    - #### jjtGetValue

          public Object jjtGetValue()

      Gets this node value.
      Returns:
        value

    - #### jjtAccept

          public Object jjtAccept(ParserVisitor visitor,
                         Object data)

      Accept the visitor.
      Specified by:
        `jjtAccept` in interface `Node`
      Parameters:
        `visitor` - the visitor
        `data` - contextual data
      Returns:
        result of visit

    - #### childrenAccept

          public Object childrenAccept(ParserVisitor visitor,
                              Object data)

      Accept the visitor on all this node's children.
      Parameters:
        `visitor` - the visitor
        `data` - contextual data
      Returns:
        result of visit

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### toString

          public String toString(String prefix)

    - #### dump

          public void dump(String prefix)

Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.