com.akiban.sql.parser
Class MethodCallNode

java.lang.Object
  extended by com.akiban.sql.parser.QueryTreeNode
      extended by com.akiban.sql.parser.JavaValueNode
          extended by com.akiban.sql.parser.MethodCallNode
All Implemented Interfaces:
Visitable
Direct Known Subclasses:
NewInvocationNode, NonStaticMethodCallNode, StaticMethodCallNode

public abstract class MethodCallNode
extends JavaValueNode

A MethodCallNode represents a Java method call. Method calls can be done through DML (as expressions) or through the CALL statement.


Field Summary
protected  String javaClassName
          The name of the class containing the method.
protected  String methodName
           
protected  JavaValueNode[] methodParms
           
 
Fields inherited from class com.akiban.sql.parser.JavaValueNode
forCallStatement, jsqlType
 
Fields inherited from class com.akiban.sql.parser.QueryTreeNode
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX
 
Constructor Summary
MethodCallNode()
           
 
Method Summary
 void addParms(List<ValueNode> parameterList)
          Add the parameter list
 void copyFrom(QueryTreeNode node)
          Fill this node with a deep copy of the given node.
 String getJavaClassName()
           
 String getMethodName()
           
 JavaValueNode[] getMethodParameters()
           
 void init(Object methodName)
          Initializer for a MethodCallNode
 void printSubNodes(int depth)
          Prints the sub-nodes of this object.
 void setJavaClassName(String javaClassName)
           
 String toString()
          Convert this object to a String.
 
Methods inherited from class com.akiban.sql.parser.JavaValueNode
castToPrimitive, getJavaTypeName, getJSQLType, getPrimitiveTypeName, getType, isPrimitiveType, mapToTypeID, markForCallStatement, markReturnValueDiscarded, mustCastToPrimitive, returnValueDiscarded, returnValueToSQLDomain, setJavaTypeName, valueReturnedToSQLDomain
 
Methods inherited from class com.akiban.sql.parser.QueryTreeNode
accept, convertDefaultNode, debugFlush, debugPrint, formatNodeString, getBeginOffset, getDebugOutput, getEndOffset, getNodeFactory, getNodeType, getNullNode, getParserContext, getStatementType, getUserData, init, init, init, init, init, init, init, init, init, init, init, init, init, isInstanceOf, makeTableName, makeTableName, nodeHeader, printLabel, setBeginOffset, setDebugOutput, setEndOffset, setNodeType, setParserContext, setUserData, stackPrint, treePrint, treePrint, treePrint
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

methodName

protected String methodName

javaClassName

protected String javaClassName
The name of the class containing the method. May not be known until bindExpression() has been called.

See Also:
#bindExpression, getJavaClassName()

methodParms

protected JavaValueNode[] methodParms
Constructor Detail

MethodCallNode

public MethodCallNode()
Method Detail

init

public void init(Object methodName)
Initializer for a MethodCallNode

Overrides:
init in class QueryTreeNode
Parameters:
methodName - The name of the method to call

copyFrom

public void copyFrom(QueryTreeNode node)
              throws StandardException
Fill this node with a deep copy of the given node.

Overrides:
copyFrom in class JavaValueNode
Throws:
StandardException

getMethodName

public String getMethodName()

getJavaClassName

public String getJavaClassName()
Returns:
the name of the class that contains the method, null if not known. It may not be known until this node has been bound.

setJavaClassName

public void setJavaClassName(String javaClassName)

getMethodParameters

public JavaValueNode[] getMethodParameters()

addParms

public void addParms(List<ValueNode> parameterList)
              throws StandardException
Add the parameter list

Parameters:
parameterList - A List of the parameters
Throws:
StandardException - Thrown on error

printSubNodes

public void printSubNodes(int depth)
Prints the sub-nodes of this object. See QueryTreeNode.java for how tree printing is supposed to work.

Overrides:
printSubNodes in class QueryTreeNode
Parameters:
depth - The depth of this node in the tree

toString

public String toString()
Convert this object to a String. See comments in QueryTreeNode.java for how this should be done for tree printing.

Overrides:
toString in class QueryTreeNode
Returns:
This object as a String


Copyright © 2013 Akiban Technologies, Inc. All rights reserved.