com.caucho.quercus.module
Class StaticFunction

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
                  extended by com.caucho.quercus.env.JavaInvoker
                      extended by com.caucho.quercus.module.StaticFunction
All Implemented Interfaces:
Callable, java.io.Serializable
Direct Known Subclasses:
ProStaticFunction

public class StaticFunction
extends JavaInvoker

Represents the introspected static function information.

See Also:
Serialized Form

Field Summary
protected  java.lang.reflect.Method _method
           
protected  QuercusModule _quercusModule
           
 
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
StaticFunction(ModuleContext moduleContext, QuercusModule quercusModule, java.lang.reflect.Method method)
          Creates the statically introspected function.
 
Method Summary
 int getArgumentLength()
           
 java.lang.String getDeclaringClassName()
           
 java.lang.reflect.Method getMethod()
          Returns the function's method.
 QuercusModule getModule()
          Returns the owning module object.
 java.lang.Object invoke(java.lang.Object obj, java.lang.Object[] javaArgs)
          Evalutes the function.
 boolean isStatic()
          Returns true for a static function.
 java.lang.String toString()
           
 
Methods inherited from class com.caucho.quercus.env.JavaInvoker
call, callMethod, evalArguments, getDefaultExprs, getHasEnv, getHasRestArgs, getMarshalArgs, getMarshalingCost, getMarshalingCost, getMaxArgLength, getMethodAnn, getMinArgLength, getName, getParamAnn, getUnmarshalReturn, init, isBoolean, isCallUsesSymbolTable, isCallUsesVariableArgs, isDouble, isLong, isRestReference, isString
 
Methods inherited from class com.caucho.quercus.env.AbstractJavaMethod
call, call, call, call, call, call, callCopy, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, getJavaDeclaringClass, getJavaParameterTypes, overload
 
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, getActualFunction, getArgs, getBindingClass, getBindingClassName, getCallbackName, getComment, getCompilationName, getDeclaringClass, getLocation, getType, isAbstract, isClosure, isConstructor, isFinal, isGlobal, isInternal, isObject, isPrivate, isProtected, isPublic, isReturnsReference, isValid, setBindingClass, setClosure, setConstructor, setDeclaringClassName, setFinal, setGlobal, setParseIndex, setStatic, setVisibility, toFun
 
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
 

Field Detail

_quercusModule

protected final QuercusModule _quercusModule

_method

protected final java.lang.reflect.Method _method
Constructor Detail

StaticFunction

public StaticFunction(ModuleContext moduleContext,
                      QuercusModule quercusModule,
                      java.lang.reflect.Method method)
Creates the statically introspected function.

Parameters:
method - the introspected method.
Method Detail

isStatic

public boolean isStatic()
Description copied from class: AbstractFunction
Returns true for a static function.

Overrides:
isStatic in class AbstractFunction

getDeclaringClassName

public java.lang.String getDeclaringClassName()
Overrides:
getDeclaringClassName in class AbstractFunction

getModule

public QuercusModule getModule()
Returns the owning module object.

Returns:
the module object

getMethod

public java.lang.reflect.Method getMethod()
Returns the function's method.

Returns:
the reflection method.

getArgumentLength

public int getArgumentLength()

invoke

public java.lang.Object invoke(java.lang.Object obj,
                               java.lang.Object[] javaArgs)
Evalutes the function.

Specified by:
invoke in class JavaInvoker

toString

public java.lang.String toString()
Overrides:
toString in class AbstractFunction