Class ASTMethod

All Implemented Interfaces:
Serializable, OrderedReturn, JavaSource, Node, NodeType

public class ASTMethod extends SimpleNode implements OrderedReturn, NodeType
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • methodName

      private String methodName
    • lastExpression

      private String lastExpression
    • coreExpression

      private String coreExpression
    • getterClass

      private Class<?> getterClass
  • Constructor Details

    • ASTMethod

      public ASTMethod(int id)
    • ASTMethod

      public ASTMethod(OgnlParser p, int id)
  • Method Details

    • setMethodName

      public void setMethodName(String methodName)
      Called from parser action.
      Parameters:
      methodName - the method name.
    • getMethodName

      public String getMethodName()
      Returns the method name that this node will call.
      Returns:
      the method name.
    • 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
      Parameters:
      context - the OgnlContext within which to perform the operation.
      source - the Object from which to get the value body.
      Returns:
      the value body from the source (as appropriate within the provided context).
      Throws:
      OgnlException - if the value body get fails.
    • getLastExpression

      public String getLastExpression()
      Description copied from interface: OrderedReturn
      Gets the last expression to be pre-pended with a return <expression> block.
      Specified by:
      getLastExpression in interface OrderedReturn
      Returns:
      The expression representing the return portion of a statement;
    • getCoreExpression

      public 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 interface OrderedReturn
      Returns:
      The core standalone expression that shouldn't be pre-pended with a return keyword.
    • 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.
    • toString

      public String toString()
      Overrides:
      toString in class SimpleNode
    • 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
      Parameters:
      context - the OgnlContext within which to perform the operation.
      target - the Object from which to retrieve the get source string.
      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
      Parameters:
      context - the OgnlContext within which to perform the operation.
      target - the Object from which to retrieve the set source string.
      Returns:
      Literal java string representation of an object set.
    • getClassMatchingAllChildren

      private static Class<?> getClassMatchingAllChildren(OgnlContext context, Node[] _children)
    • getChildrenClasses

      private static Class<?>[] getChildrenClasses(OgnlContext context, Node[] _children)
    • isSimpleMethod

      public boolean isSimpleMethod(OgnlContext context)
      Overrides:
      isSimpleMethod in class SimpleNode