org.apache.commons.jexl.parser

## Interface Node

All Known Implementing Classes:
  ASTAddNode, ASTAndNode, ASTArrayAccess, ASTArrayLiteral, ASTAssignment, ASTBitwiseAndNode, ASTBitwiseComplNode, ASTBitwiseOrNode, ASTBitwiseXorNode, ASTBlock, ASTDivNode, ASTElvisNode, ASTEmptyFunction, ASTEQNode, ASTExpression, ASTExpressionExpression, ASTFalseNode, ASTFloatLiteral, ASTForeachStatement, ASTGENode, ASTGTNode, ASTIdentifier, ASTIfStatement, ASTIntegerLiteral, ASTJexlScript, ASTLENode, ASTLTNode, ASTMapEntry, ASTMapLiteral, ASTMethod, ASTModNode, ASTMulNode, ASTNENode, ASTNotNode, ASTNullLiteral, ASTOrNode, ASTReference, ASTReferenceExpression, ASTSizeFunction, ASTSizeMethod, ASTStatementExpression, ASTStringLiteral, ASTSubtractNode, ASTTernaryNode, ASTTrueNode, ASTUnaryMinusNode, ASTWhileStatement, SimpleNode

    public interface Node

All AST nodes must implement this interface. It provides basic machinery for constructing the parent and child relationships between nodes.

### Method Summary

Methods
`java.lang.Object` `jjtAccept(org.apache.commons.jexl.parser.ParserVisitor visitor, java.lang.Object data)` Accept the visitor.
`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()` Gets the number of children the node has.
`Node` `jjtGetParent()` Gets the parent node.
`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.

### 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.

Parameters:
  `n` - the parent node.

#### jjtGetParent

    Node jjtGetParent()

Gets the parent node.

Returns:
  the parent to this node.

#### jjtAddChild

    void jjtAddChild(Node n,
                   int i)

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

Parameters:
  `n` - the child node to add
  `i` - the index to add it at.

#### jjtGetChild

    Node jjtGetChild(int i)

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

Parameters:
  `i` - the index of the child to get.
Returns:
  the child at the given index.

#### jjtGetNumChildren

    int jjtGetNumChildren()

Gets the number of children the node has.

Returns:
  the number of children the node has.

#### jjtAccept

    java.lang.Object jjtAccept(org.apache.commons.jexl.parser.ParserVisitor visitor,
                             java.lang.Object data)

Accept the visitor.

Parameters:
  `data` - arbitrary data.
  `visitor` - the visitor.
Returns:
  the result of the visit.