com.caucho.quercus.env
Class AbstractJavaMethod

java.lang.Object
  extended by com.caucho.quercus.env.Value
      extended by com.caucho.quercus.env.Callback
          extended by com.caucho.quercus.function.AbstractFunction
              extended by com.caucho.quercus.env.AbstractJavaMethod
All Implemented Interfaces:
Callable, java.io.Serializable
Direct Known Subclasses:
JavaInvoker, JavaOverloadMethod

public abstract class AbstractJavaMethod
extends AbstractFunction

Represents the introspected static function information.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.caucho.quercus.function.AbstractFunction
_bindingClass, _declaringClassName, _isClosure, _isConstructor, _isFinal, _isStatic, _parseIndex, _visibility
 
Fields inherited from class com.caucho.quercus.env.Value
NULL_VALUE_ARRAY, SCALAR_V
 
Constructor Summary
AbstractJavaMethod()
           
 
Method Summary
 Value call(Env env)
          Evaluates the function.
 Value call(Env env, Value a1)
          Evaluates the function with an argument .
 Value call(Env env, Value[] args)
          Evaluates the function.
 Value call(Env env, Value a1, Value a2)
          Evaluates the function with arguments
 Value call(Env env, Value a1, Value a2, Value a3)
          Evaluates the function with arguments
 Value call(Env env, Value a1, Value a2, Value a3, Value a4)
          Evaluates the function with arguments
 Value call(Env env, Value a1, Value a2, Value a3, Value a4, Value a5)
          Evaluates the function with arguments
 Value callCopy(Env env, Value[] args)
          Evaluates the function, returning a copy
 Value callMethod(Env env, QuercusClass qClass, Value qThis)
          Evaluates the function as a method call.
 Value callMethod(Env env, QuercusClass qClass, Value qThis, Value a1)
          Evaluates the function as a method call.
abstract  Value callMethod(Env env, QuercusClass qClass, Value qThis, Value[] args)
          Evaluates the method call.
 Value callMethod(Env env, QuercusClass qClass, Value qThis, Value a1, Value a2)
          Evaluates the function as a method call.
 Value callMethod(Env env, QuercusClass qClass, Value qThis, Value a1, Value a2, Value a3)
          Evaluates the function as a method call.
 Value callMethod(Env env, QuercusClass qClass, Value qThis, Value a1, Value a2, Value a3, Value a4)
          Evaluates the function as a method call.
 Value callMethod(Env env, QuercusClass qClass, Value qThis, Value a1, Value a2, Value a3, Value a4, Value a5)
          Evaluates the function as a method call.
abstract  boolean getHasRestArgs()
          Returns true if the function can take in unlimited number of args.
 java.lang.Class getJavaDeclaringClass()
           
 java.lang.Class[] getJavaParameterTypes()
           
abstract  int getMarshalingCost(Expr[] args)
           
abstract  int getMarshalingCost(Value[] args)
           
abstract  int getMaxArgLength()
          Returns the maximum number of arguments allowed.
abstract  int getMinArgLength()
          Returns the minimally required number of arguments.
 AbstractJavaMethod overload(AbstractJavaMethod fun)
          Returns an overloaded java method.
 
Methods inherited from class com.caucho.quercus.function.AbstractFunction
callMethod, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callRef, callRef, callRef, callRef, callRef, callRef, callRef, errorPrivateAccess, errorProtectedAccess, evalArguments, getActualFunction, getArgs, getBindingClass, getBindingClassName, getCallbackName, getComment, getCompilationName, getDeclaringClass, getDeclaringClassName, getLocation, getName, getType, isAbstract, isBoolean, isCallUsesSymbolTable, isCallUsesVariableArgs, isClosure, isConstructor, isDouble, isFinal, isGlobal, isInternal, isLong, isObject, isPrivate, isProtected, isPublic, isReturnsReference, isStatic, isString, isValid, setBindingClass, setClosure, setConstructor, setDeclaringClassName, setFinal, setGlobal, setParseIndex, setStatic, setVisibility, toFun, toString
 
Methods inherited from class com.caucho.quercus.env.Callback
callArray, callArray, callArray, toCallable
 
Methods inherited from class com.caucho.quercus.env.Value
abs, add, add, addOne, append, appendTo, appendTo, appendTo, appendTo, bitAnd, bitOr, bitXor, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, charValueAt, checkPrivate, checkProtected, clone, cmp, containsKey, copy, copy, copy, copyArrayItem, copyReturn, copySaveFunArg, copyStringBuilder, copyTree, current, div, div, end, eq, eql, eqValue, findFunction, generate, geq, get, getArg, getArray, getArray, getBaseIterator, getCallableName, getCalledClass, getClassName, getCount, getCountRecursive, getDirty, getField, getFieldArg, getFieldArgRef, getFieldArray, getFieldObject, getFieldVar, getHashCode, getIterator, getKeyArray, getKeyIterator, getObject, getObject, getQuercusClass, getRef, getResourceType, getSize, getThisField, getThisFieldArg, getThisFieldArgRef, getThisFieldArray, getThisFieldObject, getThisFieldVar, getValueArray, getValueIterator, getValueType, getVar, gt, hasCurrent, hashCode, increment, initField, isA, isA, isArray, isBinary, isCallable, isDefault, isDoubleConvertible, isEmpty, isFieldInit, isLongConvertible, isNull, isNumberConvertible, isNumeric, isResource, isset, isset, issetField, issetThisField, isUnicode, isVar, jsonEncode, key, keyExists, length, leq, lshift, lt, mod, mul, mul, neg, next, nextIndex, pop, pos, postdecr, postincr, postincr, predecr, preincr, preincr, prev, print, print, printDepth, printJavaChar, printJavaString, printR, printRImpl, put, put, put, putField, putField, putField, putObject, putThisField, putThisField, putVar, remove, reset, rshift, serialize, serialize, set, setCharValueAt, setFieldInit, setJavaObject, shuffle, sub_rev, sub, sub, subOne, toArgRef, toArray, toArrayValue, toAutoArray, toAutoObject, toBigDecimal, toBigInteger, toBinaryValue, toBinaryValue, toBinaryValue, toBinaryValueMarshalCost, toBoolean, toBooleanMarshalCost, toByteArrayMarshalCost, toByteMarshalCost, toChar, toCharArrayMarshalCost, toCharMarshalCost, toDebugString, toDouble, toDoubleMarshalCost, toDoubleValue, toException, toFloatMarshalCost, toInputStream, toInt, toIntegerMarshalCost, toInternString, toJavaBoolean, toJavaByte, toJavaCalendar, toJavaCharacter, toJavaCollection, toJavaDate, toJavaDouble, toJavaFloat, toJavaInteger, toJavaList, toJavaLong, toJavaMap, toJavaObject, toJavaObject, toJavaObjectMarshalCost, toJavaObjectNotNull, toJavaShort, toJavaString, toJavaURL, toKey, toLocalRef, toLocalThis, toLocalValue, toLocalValueReadOnly, toLocalVar, toLocalVarDeclAsRef, toLong, toLongMarshalCost, toLongValue, toObject, toRef, toRefValue, toShortMarshalCost, toString, toStringBuilder, toStringBuilder, toStringBuilder, toStringBuilder, toStringMarshalCost, toStringValue, toStringValue, toStringValueMarshalCost, toUnicode, toUnicodeValue, toUnicodeValue, toUnicodeValueMarshalCost, toValue, toVar, unsetArray, unsetField, unsetThisArray, unsetThisField, valuesToArray, varDump, varDumpImpl, varExport
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractJavaMethod

public AbstractJavaMethod()
Method Detail

getMinArgLength

public abstract int getMinArgLength()
Returns the minimally required number of arguments.


getMaxArgLength

public abstract int getMaxArgLength()
Returns the maximum number of arguments allowed.


getHasRestArgs

public abstract boolean getHasRestArgs()
Returns true if the function can take in unlimited number of args.


getMarshalingCost

public abstract int getMarshalingCost(Value[] args)

getMarshalingCost

public abstract int getMarshalingCost(Expr[] args)

getJavaDeclaringClass

public java.lang.Class getJavaDeclaringClass()

getJavaParameterTypes

public java.lang.Class[] getJavaParameterTypes()

overload

public AbstractJavaMethod overload(AbstractJavaMethod fun)
Returns an overloaded java method.


callMethod

public abstract Value callMethod(Env env,
                                 QuercusClass qClass,
                                 Value qThis,
                                 Value[] args)
Description copied from class: AbstractFunction
Evaluates the method call.

Overrides:
callMethod in class AbstractFunction

callCopy

public Value callCopy(Env env,
                      Value[] args)
Evaluates the function, returning a copy

Overrides:
callCopy in class AbstractFunction

call

public Value call(Env env,
                  Value[] args)
Description copied from class: AbstractFunction
Evaluates the function.

Specified by:
call in interface Callable
Specified by:
call in class AbstractFunction
Parameters:
env - the calling environment

call

public Value call(Env env)
Description copied from class: AbstractFunction
Evaluates the function.

Specified by:
call in interface Callable
Overrides:
call in class AbstractFunction
Parameters:
env - the calling environment

call

public Value call(Env env,
                  Value a1)
Description copied from class: AbstractFunction
Evaluates the function with an argument .

Specified by:
call in interface Callable
Overrides:
call in class AbstractFunction
Parameters:
env - the calling environment

call

public Value call(Env env,
                  Value a1,
                  Value a2)
Description copied from class: AbstractFunction
Evaluates the function with arguments

Specified by:
call in interface Callable
Overrides:
call in class AbstractFunction
Parameters:
env - the calling environment

call

public Value call(Env env,
                  Value a1,
                  Value a2,
                  Value a3)
Description copied from class: AbstractFunction
Evaluates the function with arguments

Specified by:
call in interface Callable
Overrides:
call in class AbstractFunction
Parameters:
env - the calling environment

call

public Value call(Env env,
                  Value a1,
                  Value a2,
                  Value a3,
                  Value a4)
Description copied from class: AbstractFunction
Evaluates the function with arguments

Specified by:
call in interface Callable
Overrides:
call in class AbstractFunction
Parameters:
env - the calling environment

call

public Value call(Env env,
                  Value a1,
                  Value a2,
                  Value a3,
                  Value a4,
                  Value a5)
Description copied from class: AbstractFunction
Evaluates the function with arguments

Specified by:
call in interface Callable
Overrides:
call in class AbstractFunction
Parameters:
env - the calling environment

callMethod

public Value callMethod(Env env,
                        QuercusClass qClass,
                        Value qThis)
Description copied from class: AbstractFunction
Evaluates the function as a method call.

Overrides:
callMethod in class AbstractFunction

callMethod

public Value callMethod(Env env,
                        QuercusClass qClass,
                        Value qThis,
                        Value a1)
Description copied from class: AbstractFunction
Evaluates the function as a method call.

Overrides:
callMethod in class AbstractFunction

callMethod

public Value callMethod(Env env,
                        QuercusClass qClass,
                        Value qThis,
                        Value a1,
                        Value a2)
Description copied from class: AbstractFunction
Evaluates the function as a method call.

Overrides:
callMethod in class AbstractFunction

callMethod

public Value callMethod(Env env,
                        QuercusClass qClass,
                        Value qThis,
                        Value a1,
                        Value a2,
                        Value a3)
Description copied from class: AbstractFunction
Evaluates the function as a method call.

Overrides:
callMethod in class AbstractFunction

callMethod

public Value callMethod(Env env,
                        QuercusClass qClass,
                        Value qThis,
                        Value a1,
                        Value a2,
                        Value a3,
                        Value a4)
Description copied from class: AbstractFunction
Evaluates the function as a method call.

Overrides:
callMethod in class AbstractFunction

callMethod

public Value callMethod(Env env,
                        QuercusClass qClass,
                        Value qThis,
                        Value a1,
                        Value a2,
                        Value a3,
                        Value a4,
                        Value a5)
Description copied from class: AbstractFunction
Evaluates the function as a method call.

Overrides:
callMethod in class AbstractFunction