org.apache.commons.jexl2.parser
Class JexlNode

java.lang.Object
  extended by org.apache.commons.jexl2.parser.SimpleNode
      extended by org.apache.commons.jexl2.parser.JexlNode
All Implemented Interfaces:
JexlInfo, Node
Direct Known Subclasses:
ASTAdditiveNode, ASTAdditiveOperator, ASTAmbiguous, ASTAndNode, ASTArrayAccess, ASTArrayLiteral, ASTAssignment, ASTBitwiseAndNode, ASTBitwiseComplNode, ASTBitwiseOrNode, ASTBitwiseXorNode, ASTBlock, ASTConstructorNode, ASTDivNode, ASTEmptyFunction, ASTEQNode, ASTERNode, ASTFalseNode, ASTFloatLiteral, ASTForeachStatement, ASTFunctionNode, ASTGENode, ASTGTNode, ASTIdentifier, ASTIfStatement, ASTIntegerLiteral, ASTJexlScript, ASTLENode, ASTLTNode, ASTMapEntry, ASTMapLiteral, ASTMethodNode, ASTModNode, ASTMulNode, ASTNENode, ASTNotNode, ASTNRNode, ASTNullLiteral, ASTNumberLiteral, ASTOrNode, ASTReference, ASTReturnStatement, ASTSizeFunction, ASTSizeMethod, ASTStringLiteral, ASTTernaryNode, ASTTrueNode, ASTUnaryMinusNode, ASTWhileStatement

public abstract class JexlNode
extends SimpleNode
implements JexlInfo

Base class for parser nodes - holds an 'image' of the token for later use.

Since:
2.0

Nested Class Summary
static interface JexlNode.Literal<T>
          A marker interface for literals.
 
Field Summary
 String image
          token value.
 
Fields inherited from class org.apache.commons.jexl2.parser.SimpleNode
children, id, parent, value
 
Constructor Summary
JexlNode(int id)
           
JexlNode(Parser p, int id)
           
 
Method Summary
 DebugInfo debugInfo()
          Gets the underlying debugging information.
 String debugString()
          Formats this information for debugging purpose.
 boolean isConstant()
          Whether this node is a constant node Its value can not change after the first evaluation and can be cached indefinitely.
protected  boolean isConstant(boolean literal)
           
 
Methods inherited from class org.apache.commons.jexl2.parser.SimpleNode
childrenAccept, dump, jjtAccept, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtGetValue, jjtOpen, jjtSetParent, jjtSetValue, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

image

public String image
token value.

Constructor Detail

JexlNode

public JexlNode(int id)

JexlNode

public JexlNode(Parser p,
                int id)
Method Detail

debugInfo

public DebugInfo debugInfo()
Gets the underlying debugging information.

Specified by:
debugInfo in interface JexlInfo
Returns:
a debug info instance

debugString

public String debugString()
Formats this information for debugging purpose.

Specified by:
debugString in interface JexlInfo
Returns:
a human readable string.

isConstant

public final boolean isConstant()
Whether this node is a constant node Its value can not change after the first evaluation and can be cached indefinitely.

Returns:
true if constant, false otherwise

isConstant

protected boolean isConstant(boolean literal)


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