org.apache.commons.ognl
Class ASTProperty

java.lang.Object
  extended by org.apache.commons.ognl.SimpleNode
      extended by org.apache.commons.ognl.ASTProperty
All Implemented Interfaces:
Serializable, JavaSource, Node, NodeType

public class ASTProperty
extends SimpleNode
implements NodeType

$Id: ASTProperty.java 1197445 2011-11-04 09:13:17Z mcucchiara $

Author:
Luke Blanshard (blanshlu@netscape.net), Drew Davidson (drew@ognl.org)
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.commons.ognl.SimpleNode
children, id, parent, parser
 
Constructor Summary
ASTProperty(int id)
           
 
Method Summary
<R,P> R
accept(NodeVisitor<? extends R,? super P> visitor, P data)
          Supports the Visitor pattern.
 Class getGetterClass()
          The type returned from the expression - if any.
 int getIndexedPropertyType(OgnlContext context, Object source)
          Returns true if this property is described by an IndexedPropertyDescriptor and that if followed by an index specifier it will call the index get/set methods rather than go through property accessors.
 Object getProperty(OgnlContext context, Object source)
           
 Class getSetterClass()
          The type used to set the value - if any.
protected  Object getValueBody(OgnlContext context, Object source)
          Subclasses implement this method to do the actual work of extracting the appropriate value from the source object.
 boolean isIndexedAccess()
          Returns true if this property is itself an index reference.
 boolean isNodeSimpleProperty(OgnlContext context)
           
 void setIndexedAccess(boolean value)
           
protected  void setValueBody(OgnlContext context, Object target, Object value)
          Subclasses implement this method to do the actual work of setting the appropriate value in the target object.
 String toGetSourceString(OgnlContext context, 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 for ExpressionAccessor.get(OgnlContext, Object) calls.
 String toSetSourceString(OgnlContext context, 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 for ExpressionAccessor.get(OgnlContext, Object) calls.
 
Methods inherited from class org.apache.commons.ognl.SimpleNode
dump, evaluateGetValueBody, evaluateSetValueBody, flattenTree, getAccessor, getIndexInParent, getNextSibling, getValue, isConstant, isEvalChain, isNodeConstant, isSimpleNavigationChain, isSimpleProperty, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, lastChild, setAccessor, setValue, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ASTProperty

public ASTProperty(int id)
Method Detail

setIndexedAccess

public void setIndexedAccess(boolean value)

isIndexedAccess

public boolean isIndexedAccess()
Returns true if this property is itself an index reference.

Returns:
Returns true if this property is itself an index reference.

getIndexedPropertyType

public int getIndexedPropertyType(OgnlContext context,
                                  Object source)
                           throws OgnlException
Returns true if this property is described by an IndexedPropertyDescriptor and that if followed by an index specifier it will call the index get/set methods rather than go through property accessors.

Parameters:
context - The context
source - The object source
Returns:
true, if this property is described by an IndexedPropertyDescriptor
Throws:
OgnlException - if an error occurs

getProperty

public Object getProperty(OgnlContext context,
                          Object source)
                   throws OgnlException
Throws:
OgnlException

getValueBody

protected Object getValueBody(OgnlContext context,
                              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 class SimpleNode
Throws:
OgnlException

setValueBody

protected void setValueBody(OgnlContext context,
                            Object target,
                            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 an InappropriateExpressionException, meaning that it cannot be a set expression.

Overrides:
setValueBody in class SimpleNode
Throws:
OgnlException

isNodeSimpleProperty

public boolean isNodeSimpleProperty(OgnlContext context)
                             throws OgnlException
Overrides:
isNodeSimpleProperty in class SimpleNode
Throws:
OgnlException

getGetterClass

public Class getGetterClass()
Description copied from interface: NodeType
The type returned from the expression - if any.

Specified by:
getGetterClass in interface NodeType
Returns:
The type.

getSetterClass

public Class getSetterClass()
Description copied from interface: NodeType
The type used to set the value - if any.

Specified by:
getSetterClass in interface NodeType
Returns:
The type.

toGetSourceString

public String toGetSourceString(OgnlContext context,
                                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 for ExpressionAccessor.get(OgnlContext, Object) calls.

Specified by:
toGetSourceString in interface JavaSource
Overrides:
toGetSourceString in class SimpleNode
Returns:
Literal java string representation of an object get.

toSetSourceString

public String toSetSourceString(OgnlContext context,
                                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 for ExpressionAccessor.get(OgnlContext, Object) calls.

Specified by:
toSetSourceString in interface JavaSource
Overrides:
toSetSourceString in class SimpleNode
Returns:
Literal java string representation of an object get.

accept

public <R,P> R accept(NodeVisitor<? extends R,? super P> visitor,
                      P data)
         throws OgnlException
Description copied from interface: Node
Supports the Visitor pattern. The method which corresponds to the runtime type of this Node will be called.

Specified by:
accept in interface Node
Type Parameters:
R - The return type of the visitor.visit method.
P - The type of the second parameter type.
Parameters:
visitor - The visitor to accept.
data - The second parameter to pass through to visitor.visit
Returns:
the value returned by visitor.visit
Throws:
OgnlException


Copyright © 1997-2013 The Apache Software Foundation. All Rights Reserved.