Package ognl
Interface Node
-
- All Superinterfaces:
JavaSource
- All Known Implementing Classes:
ASTAnd
,ASTChain
,ASTConst
,ASTCtor
,ASTInstanceof
,ASTList
,ASTMethod
,ASTOr
,ASTProperty
,ASTRootVarRef
,ASTSequence
,ASTStaticField
,ASTStaticMethod
,ASTThisVarRef
,ASTVarRef
,BooleanExpression
,ComparisonExpression
,ExpressionNode
,NumericExpression
,SimpleNode
public interface Node extends JavaSource
JJTree interface for AST nodes, as modified to handle the OGNL operations getValue and setValue. JJTree's original comment: All AST nodes must implement this interface. It provides basic machinery for constructing the parent and child relationships between nodes.- Author:
- Luke Blanshard (blanshlu@netscape.net), Drew Davidson (drew@ognl.org)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ExpressionAccessor
getAccessor()
Gets the compiled bytecode enhanced expression accessor for getting/setting values.java.lang.Object
getValue(OgnlContext context, java.lang.Object source)
Extracts the value from the given source object that is appropriate for this node within the given context.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
setAccessor(ExpressionAccessor accessor)
Sets a new compiled accessor for this node expression.void
setValue(OgnlContext context, java.lang.Object target, java.lang.Object value)
Sets the given value in the given target as appropriate for this node within the given context.-
Methods inherited from interface ognl.JavaSource
toGetSourceString, toSetSourceString
-
-
-
-
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.
-
getValue
java.lang.Object getValue(OgnlContext context, java.lang.Object source) throws OgnlException
Extracts the value from the given source object that is appropriate for this node within the given context.- Throws:
OgnlException
-
setValue
void setValue(OgnlContext context, java.lang.Object target, java.lang.Object value) throws OgnlException
Sets the given value in the given target as appropriate for this node within the given context.- Throws:
OgnlException
-
getAccessor
ExpressionAccessor getAccessor()
Gets the compiled bytecode enhanced expression accessor for getting/setting values.- Returns:
- The accessor for this node, or null if none has been compiled for it.
-
setAccessor
void setAccessor(ExpressionAccessor accessor)
Sets a new compiled accessor for this node expression.- Parameters:
accessor
- The compiled representation of this node.
-
-