public static class JavaProxyClass.ProxyMethodImpl extends JavaProxyReflectionObject implements JavaProxyMethod
RubyObject.DataRubyBasicObject.Finalizer| Modifier and Type | Field and Description |
|---|---|
private java.lang.reflect.Method |
method |
private java.lang.Class[] |
parameterTypes |
private JavaProxyClass |
proxyClass |
private java.lang.Object |
state |
private java.lang.reflect.Method |
superMethod |
FIELD_ALLOCATED_CLASSES, FIELD_ALLOCATORS, IVAR_INSPECTING_OBJECT_ALLOCATOR, OBJECT_ALLOCATOR, OBJECT_VAR0_ALLOCATOR, OBJECT_VAR1_ALLOCATOR, OBJECT_VAR2_ALLOCATOR, OBJECT_VAR3_ALLOCATOR, OBJECT_VAR4_ALLOCATOR, OBJECT_VAR5_ALLOCATOR, OBJECT_VAR6_ALLOCATOR, OBJECT_VAR7_ALLOCATOR, OBJECT_VAR8_ALLOCATOR, OBJECT_VAR9_ALLOCATOR, REIFYING_OBJECT_ALLOCATORALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, STAMP_OFFSET, TAINTED_F, UNDEF, UNTRUSTED_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F, VAR_TABLE_OFFSET, varTable, varTableStampNULL_ARRAY| Constructor and Description |
|---|
ProxyMethodImpl(Ruby runtime,
JavaProxyClass clazz,
java.lang.reflect.Method method,
java.lang.reflect.Method superMethod) |
| Modifier and Type | Method and Description |
|---|---|
RubyArray |
argument_types() |
RubyFixnum |
arity() |
static RubyClass |
createJavaProxyMethodClass(Ruby runtime,
RubyModule Java) |
java.lang.Object |
defaultResult() |
IRubyObject |
do_invoke(IRubyObject[] args) |
boolean |
equals(java.lang.Object other)
This method is just a wrapper around the Ruby "==" method,
provided so that RubyObjects can be used as keys in the Java
HashMap object underlying RubyHash.
|
int |
getArity() |
JavaProxyClass |
getDeclaringClass() |
java.lang.Class<?>[] |
getExceptionTypes() |
private static RubyClass |
getJavaProxyMethod(Ruby runtime) |
java.lang.reflect.Method |
getMethod() |
int |
getModifiers() |
java.lang.String |
getName() |
java.lang.Class<?>[] |
getParameterTypes() |
java.lang.Class<?> |
getReturnType() |
java.lang.Object |
getState()
get state (cache target callable?) in the proxy method
|
java.lang.reflect.Method |
getSuperMethod() |
int |
hashCode()
Override the Object#hashCode method to make sure that the Ruby
hash is actually used as the hashcode for Ruby objects.
|
boolean |
hasSuperImplementation()
is it possible to call the super method?
|
RubyString |
inspect()
rb_obj_inspect
call-seq:
obj.inspect => string
Returns a string containing a human-readable representation of
obj.
|
java.lang.Object |
invoke(java.lang.Object proxy,
java.lang.Object[] args) |
boolean |
isVarArgs() |
boolean |
matches(java.lang.String name,
java.lang.Class<?>[] parameterTypes) |
RubyObject |
name() |
protected java.lang.String |
nameOnInspection()
Deprecated.
|
void |
setState(java.lang.Object state)
store state (cache target callable?) in the proxy method
|
IRubyObject |
super_p() |
java.lang.String |
toString()
The default toString method is just a wrapper that calls the
Ruby "to_s" method.
|
aref, aset, buildRubyArray, buildRubyArray, hash, is_java_proxy, java_class, java_type, length, op_eqq, op_equal, op_equal, registerRubyMethods, same, to_s, toRubyArray, toRubyArrayattachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, getNativeTypeIndex, initialize, initialize, inspect, puts, specificEvaladdFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkFrozen, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, display, dup, ensureInstanceVariablesSettable, eql_p, eql, equal_p, equal_p19, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, freeze, frozen_p, getFFIHandle, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getNativeHandle, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id_deprecated, id, infectBy, initialize_copy, initialize19, inspectHashCode, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval19, instance_eval19, instance_eval19, instance_eval19, instance_exec, instance_exec19, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, instance_variables19, isBuiltin, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method_missing19, method, method19, methods, methods, methods19, nil_p, op_cmp, op_equal_19, op_match, op_match19, op_not_equal, op_not_match, op_not, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, rbClone, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, respond_to_p, respond_to_p19, respond_to_p19, respondsTo, respondsToMissing, respondsToMissing, send, send, send, send, send, send19, send19, send19, send19, setFFIHandle, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setNativeHandle, setTaint, setUntrusted, setVariable, singleton_method_added19, singleton_method_removed19, singleton_method_undefined19, singleton_methods, singleton_methods19, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, toJava, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnderclone, finalize, getClass, notify, notifyAll, wait, wait, waitaddFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkStringType, checkStringType19, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copySpecialInstanceVariables, dataGetStruct, dataGetStructChecked, dataWrapStruct, dup, eql, getInstanceVariables, getInternalVariables, getJavaClass, getMetaClass, getRuntime, getSingletonClass, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hasVariables, id, infectBy, isClass, isFrozen, isImmediate, isModule, isNil, isTaint, isTrue, isUntrusted, op_eqq, op_equal, rbClone, removeFinalizers, respondsTo, respondsToMissing, respondsToMissing, setFrozen, setTaint, setUntrusted, setVariable, syncVariables, syncVariables, toJavaprivate final java.lang.reflect.Method method
private final java.lang.reflect.Method superMethod
private final java.lang.Class[] parameterTypes
private final JavaProxyClass proxyClass
private java.lang.Object state
public ProxyMethodImpl(Ruby runtime, JavaProxyClass clazz, java.lang.reflect.Method method, java.lang.reflect.Method superMethod)
public static RubyClass createJavaProxyMethodClass(Ruby runtime, RubyModule Java)
public boolean equals(java.lang.Object other)
RubyObjectequals in class JavaProxyReflectionObjectpublic int hashCode()
RubyObjecthashCode in class JavaProxyReflectionObjectpublic java.lang.reflect.Method getMethod()
public java.lang.reflect.Method getSuperMethod()
getSuperMethod in interface JavaProxyMethodpublic int getModifiers()
getModifiers in interface JavaProxyMethodpublic java.lang.String getName()
getName in interface JavaProxyMethodpublic final java.lang.Class<?>[] getExceptionTypes()
getExceptionTypes in interface ParameterTypespublic final java.lang.Class<?>[] getParameterTypes()
getParameterTypes in interface ParameterTypespublic final boolean isVarArgs()
isVarArgs in interface ParameterTypespublic boolean hasSuperImplementation()
JavaProxyMethodhasSuperImplementation in interface JavaProxyMethodpublic java.lang.Object invoke(java.lang.Object proxy,
java.lang.Object[] args)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
invoke in interface JavaProxyMethodjava.lang.IllegalArgumentExceptionjava.lang.IllegalAccessExceptionjava.lang.reflect.InvocationTargetExceptionjava.lang.NoSuchMethodException - if this ProxyMethod has no super implementationpublic java.lang.Object getState()
JavaProxyMethodgetState in interface JavaProxyMethodpublic void setState(java.lang.Object state)
JavaProxyMethodsetState in interface JavaProxyMethodpublic java.lang.String toString()
RubyObjecttoString in class JavaProxyReflectionObjectpublic java.lang.Object defaultResult()
defaultResult in interface JavaProxyMethodpublic final boolean matches(java.lang.String name,
java.lang.Class<?>[] parameterTypes)
public final java.lang.Class<?> getReturnType()
getReturnType in interface JavaProxyMethodpublic RubyObject name()
public final JavaProxyClass getDeclaringClass()
getDeclaringClass in interface JavaProxyMethodpublic RubyArray argument_types()
public IRubyObject super_p()
public RubyFixnum arity()
@Deprecated protected java.lang.String nameOnInspection()
public RubyString inspect()
RubyBasicObjectto_s method to
generate the string.
[ 1, 2, 3..4, 'five' ].inspect #=> "[1, 2, 3..4, \"five\"]"
Time.new.inspect #=> "Wed Apr 09 08:54:39 CDT 2003"inspect in interface IRubyObjectinspect in class RubyBasicObjectpublic IRubyObject do_invoke(IRubyObject[] args)
public final int getArity()
getArity in interface ParameterTypes