Package ognl
Class ASTChain
- java.lang.Object
-
- ognl.SimpleNode
-
- ognl.ASTChain
-
- All Implemented Interfaces:
java.io.Serializable
,OrderedReturn
,JavaSource
,Node
,NodeType
public class ASTChain extends SimpleNode implements NodeType, OrderedReturn
- Author:
- Luke Blanshard (blanshlu@netscape.net), Drew Davidson (drew@ognl.org)
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class ognl.SimpleNode
_children, _id, _parent, _parser
-
-
Constructor Summary
Constructors Constructor Description ASTChain(int id)
ASTChain(OgnlParser p, int id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getCoreExpression()
Get the core expression to execute first before any return foo logic is started.java.lang.Class
getGetterClass()
The type returned from the expression - if any.java.lang.String
getLastExpression()
Gets the last expression to be pre-pended with a return <expression> block.java.lang.Class
getSetterClass()
The type used to set the value - if any.protected java.lang.Object
getValueBody(OgnlContext context, java.lang.Object source)
Subclasses implement this method to do the actual work of extracting the appropriate value from the source object.boolean
isSimpleNavigationChain(OgnlContext context)
void
jjtClose()
This method is called after all the child nodes have been added.protected void
setValueBody(OgnlContext context, java.lang.Object target, java.lang.Object value)
Subclasses implement this method to do the actual work of setting the appropriate value in the target object.java.lang.String
toGetSourceString(OgnlContext context, java.lang.Object target)
Expected to return a java source representation of itself such that it could be turned into a literal java expression to be compiled and executed forExpressionAccessor.get(OgnlContext, Object)
calls.java.lang.String
toSetSourceString(OgnlContext context, java.lang.Object target)
Expected to return a java source representation of itself such that it could be turned into a literal java expression to be compiled and executed forExpressionAccessor.get(OgnlContext, Object)
calls.java.lang.String
toString()
-
Methods inherited from class ognl.SimpleNode
dump, evaluateGetValueBody, evaluateSetValueBody, flattenTree, getAccessor, getIndexInParent, getNextSibling, getValue, isConstant, isNodeConstant, isNodeSimpleProperty, isSimpleProperty, jjtAddChild, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, lastChild, setAccessor, setValue, toString
-
-
-
-
Constructor Detail
-
ASTChain
public ASTChain(int id)
-
ASTChain
public ASTChain(OgnlParser p, int id)
-
-
Method Detail
-
getLastExpression
public java.lang.String getLastExpression()
Description copied from interface:OrderedReturn
Gets the last expression to be pre-pended with a return <expression> block.- Specified by:
getLastExpression
in interfaceOrderedReturn
- Returns:
- The expression representing the return portion of a statement;
-
getCoreExpression
public java.lang.String getCoreExpression()
Description copied from interface:OrderedReturn
Get the core expression to execute first before any return foo logic is started.- Specified by:
getCoreExpression
in interfaceOrderedReturn
- Returns:
- The core standalone expression that shouldn't be pre-pended with a return keyword.
-
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 interfaceNode
- Overrides:
jjtClose
in classSimpleNode
-
getValueBody
protected java.lang.Object getValueBody(OgnlContext context, java.lang.Object source) throws OgnlException
Description copied from class:SimpleNode
Subclasses implement this method to do the actual work of extracting the appropriate value from the source object.- Specified by:
getValueBody
in classSimpleNode
- Throws:
OgnlException
-
setValueBody
protected void setValueBody(OgnlContext context, java.lang.Object target, java.lang.Object value) throws OgnlException
Description copied from class:SimpleNode
Subclasses implement this method to do the actual work of setting the appropriate value in the target object. The default implementation throws anInappropriateExpressionException
, meaning that it cannot be a set expression.- Overrides:
setValueBody
in classSimpleNode
- Throws:
OgnlException
-
isSimpleNavigationChain
public boolean isSimpleNavigationChain(OgnlContext context) throws OgnlException
- Overrides:
isSimpleNavigationChain
in classSimpleNode
- Throws:
OgnlException
-
getGetterClass
public java.lang.Class getGetterClass()
Description copied from interface:NodeType
The type returned from the expression - if any.- Specified by:
getGetterClass
in interfaceNodeType
- Returns:
- The type.
-
getSetterClass
public java.lang.Class getSetterClass()
Description copied from interface:NodeType
The type used to set the value - if any.- Specified by:
getSetterClass
in interfaceNodeType
- Returns:
- The type.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classSimpleNode
-
toGetSourceString
public java.lang.String toGetSourceString(OgnlContext context, java.lang.Object target)
Description copied from interface:JavaSource
Expected to return a java source representation of itself such that it could be turned into a literal java expression to be compiled and executed forExpressionAccessor.get(OgnlContext, Object)
calls.- Specified by:
toGetSourceString
in interfaceJavaSource
- Overrides:
toGetSourceString
in classSimpleNode
- Returns:
- Literal java string representation of an object get.
-
toSetSourceString
public java.lang.String toSetSourceString(OgnlContext context, java.lang.Object target)
Description copied from interface:JavaSource
Expected to return a java source representation of itself such that it could be turned into a literal java expression to be compiled and executed forExpressionAccessor.get(OgnlContext, Object)
calls.- Specified by:
toSetSourceString
in interfaceJavaSource
- Overrides:
toSetSourceString
in classSimpleNode
- Returns:
- Literal java string representation of an object get.
-
-