SimpleNode (Commons JEXL 2.0.1 API)
Keywords: org.apache.commons.jexl2.parser.SimpleNode class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.jexl2.parser
Class SimpleNode

    java.lang.Object
      org.apache.commons.jexl2.parser.SimpleNode

All Implemented Interfaces:
  Node

Direct Known Subclasses:
  JexlNode

    public class SimpleNode

extends java.lang.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= Worksaround 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
`protected JexlNode[]` | `children` The array of children nodes.
`protected int` | `id` The node type id.
`protected JexlNode` | `parent` The parent node.
`protected java.lang.Object` | `value` volatile value so it can be used as a last evaluation cache.

Constructor Summary
`SimpleNode(int i)` Creates a SimpleNode instance.
`SimpleNode(Parser p, int i)` Creates a SimpleNode instance.

Method Summary
`java.lang.Object` | `childrenAccept(ParserVisitor visitor, java.lang.Object data)` Accept the visitor on all this node's children.
`void` | `dump(java.lang.String prefix)`
`java.lang.Object` | `jjtAccept(ParserVisitor visitor, java.lang.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.
`java.lang.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(java.lang.Object value)` Sets this node value.
`java.lang.String` | `toString()`
`java.lang.String` | `toString(java.lang.String prefix)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### parent

    protected JexlNode parent

  The parent node.

### children

    protected JexlNode[] children

  The array of children nodes.

### id

    protected final int id

  The node type id.

### value

    protected volatile java.lang.Object value

  volatile value so it can be used as a last evaluation cache.

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()

  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()

  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(java.lang.Object value)

  Sets this node value.

  Parameters:
    `value` -

### jjtGetValue

    public java.lang.Object jjtGetValue()

  Gets this node value.

  Returns:
    value

### jjtAccept

    public java.lang.Object jjtAccept(ParserVisitor visitor,
                                      java.lang.Object data)

  Accept the visitor.

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

### childrenAccept

    public java.lang.Object childrenAccept(ParserVisitor visitor,
                                           java.lang.Object data)

  Accept the visitor on all this node's children.

  Parameters:
    `visitor` - the visitor
    `data` - contextual data
  Returns:
    result of visit

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### toString

    public java.lang.String toString(java.lang.String prefix)

### dump

    public void dump(java.lang.String prefix)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2010 The Apache Software Foundation. All Rights Reserved.