bsh
Class BshMethod
- java.io.Serializable
public class BshMethod
extends java.lang.Object
implements java.io.Serializable
This represents an instance of a bsh method declaration in a particular
namespace. This is a thin wrapper around the BSHMethodDeclaration
with a pointer to the declaring namespace.
When a method is located in a subordinate namespace or invoked from an
arbitrary namespace it must nontheless execute with its 'super' as the
context in which it was declared.
getName
public String getName()
getParameterNames
public String[] getParameterNames()
getParameterTypes
public Class[] getParameterTypes()
Get the argument types of this method.
loosely typed (untyped) arguments will be represented by null argument
types.
getReturnType
public Class getReturnType()
Get the return type of the method.
- Returns null for a loosely typed return value,
Void.TYPE for a void return type, or the Class of the type.
hasModifier
public boolean hasModifier(String name)
invoke
public Object invoke(Object[] argValues,
Interpreter interpreter)
throws EvalError
Invoke the declared method with the specified arguments and interpreter
reference. This is the simplest form of invoke() for BshMethod
intended to be used in reflective style access to bsh scripts.
invoke
public Object invoke(Object[] argValues,
Interpreter interpreter,
CallStack callstack,
bsh.SimpleNode callerInfo)
throws EvalError
Invoke the bsh method with the specified args, interpreter ref,
and callstack.
callerInfo is the node representing the method invocation
It is used primarily for debugging in order to provide access to the
text of the construct that invoked the method through the namespace.
callstack
- is the callstack. If callstack is null a new one
will be created with the declaring namespace of the method on top
of the stack (i.e. it will look for purposes of the method
invocation like the method call occurred in the declaring
(enclosing) namespace in which the method is defined).callerInfo
- is the BeanShell AST node representing the method
invocation. It is used to print the line number and text of
errors in EvalError exceptions. If the node is null here error
messages may not be able to point to the precise location and text
of the error.
toString
public String toString()
B) 2000-2005 pat@pat.net :-)