public class JavaMethod extends JavaCallable
RubyObject.DataRubyBasicObject.Finalizer| Modifier and Type | Field and Description |
|---|---|
private java.lang.Class<?> |
boxedReturnType |
private boolean |
isFinal |
private java.lang.reflect.Method |
method |
private JavaUtil.JavaConverter |
returnConverter |
parameterTypesFIELD_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 |
|---|
JavaMethod(Ruby runtime,
java.lang.reflect.Method method) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.reflect.AccessibleObject |
accessibleObject() |
RubyBoolean |
bridge_p() |
private void |
checkInstanceof(java.lang.Object javaInvokee) |
private IRubyObject |
convertReturn(java.lang.Object result) |
static JavaMethod |
create(Ruby runtime,
java.lang.Class<?> javaClass,
java.lang.String methodName,
java.lang.Class<?>[] argumentTypes)
Deprecated.
|
static JavaMethod |
create(Ruby runtime,
java.lang.reflect.Method method)
Deprecated.
|
static JavaMethod |
createDeclared(Ruby runtime,
java.lang.Class<?> javaClass,
java.lang.String methodName,
java.lang.Class<?>[] argumentTypes)
Deprecated.
|
static RubyClass |
createJavaMethodClass(Ruby runtime,
RubyModule javaModule) |
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.
|
RubyBoolean |
final_p() |
java.lang.Class<?>[] |
getExceptionTypes() |
java.lang.reflect.Type[] |
getGenericExceptionTypes() |
java.lang.reflect.Type[] |
getGenericParameterTypes() |
static JavaMethod |
getMatchingDeclaredMethod(Ruby runtime,
java.lang.Class<?> javaClass,
java.lang.String methodName,
java.lang.Class<?>[] argumentTypes) |
int |
getModifiers() |
java.lang.annotation.Annotation[][] |
getParameterAnnotations() |
java.lang.reflect.Method |
getValue() |
int |
hashCode()
Override the Object#hashCode method to make sure that the Ruby
hash is actually used as the hashcode for Ruby objects.
|
RubyString |
inspect()
rb_obj_inspect
call-seq:
obj.inspect => string
Returns a string containing a human-readable representation of
obj.
|
IRubyObject |
invoke_static(IRubyObject[] args) |
IRubyObject |
invoke(IRubyObject[] args) |
IRubyObject |
invokeDirect(java.lang.Object javaInvokee) |
IRubyObject |
invokeDirect(java.lang.Object javaInvokee,
java.lang.Object arg0) |
IRubyObject |
invokeDirect(java.lang.Object javaInvokee,
java.lang.Object[] args) |
IRubyObject |
invokeDirect(java.lang.Object javaInvokee,
java.lang.Object arg0,
java.lang.Object arg1) |
IRubyObject |
invokeDirect(java.lang.Object javaInvokee,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2) |
IRubyObject |
invokeDirect(java.lang.Object javaInvokee,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3) |
private IRubyObject |
invokeDirectSuperWithExceptionHandling(java.lang.reflect.Method method,
java.lang.Object javaInvokee,
java.lang.Object... arguments) |
private IRubyObject |
invokeDirectWithExceptionHandling(java.lang.reflect.Method method,
java.lang.Object javaInvokee) |
private IRubyObject |
invokeDirectWithExceptionHandling(java.lang.reflect.Method method,
java.lang.Object javaInvokee,
java.lang.Object arg0) |
private IRubyObject |
invokeDirectWithExceptionHandling(java.lang.reflect.Method method,
java.lang.Object javaInvokee,
java.lang.Object[] arguments) |
private IRubyObject |
invokeDirectWithExceptionHandling(java.lang.reflect.Method method,
java.lang.Object javaInvokee,
java.lang.Object arg0,
java.lang.Object arg1) |
private IRubyObject |
invokeDirectWithExceptionHandling(java.lang.reflect.Method method,
java.lang.Object javaInvokee,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2) |
private IRubyObject |
invokeDirectWithExceptionHandling(java.lang.reflect.Method method,
java.lang.Object javaInvokee,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3) |
IRubyObject |
invokeStaticDirect() |
IRubyObject |
invokeStaticDirect(java.lang.Object arg0) |
IRubyObject |
invokeStaticDirect(java.lang.Object[] args) |
IRubyObject |
invokeStaticDirect(java.lang.Object arg0,
java.lang.Object arg1) |
IRubyObject |
invokeStaticDirect(java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2) |
IRubyObject |
invokeStaticDirect(java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3) |
private IRubyObject |
invokeWithExceptionHandling(java.lang.reflect.Method method,
java.lang.Object javaInvokee,
java.lang.Object[] arguments) |
private boolean |
isStatic() |
boolean |
isVarArgs() |
private boolean |
mightBeProxy(java.lang.Object javaInvokee) |
RubyString |
name() |
protected java.lang.String |
nameOnInspection() |
static RaiseException |
newArgSizeMismatchError(Ruby runtime,
java.lang.Class... argTypes) |
static RaiseException |
newMethodNotFoundError(Ruby runtime,
java.lang.Class target,
java.lang.String prettyName,
java.lang.String simpleName) |
RubyBoolean |
public_p() |
IRubyObject |
return_type() |
RubyBoolean |
static_p() |
java.lang.String |
toGenericString() |
private IRubyObject |
tryProxyInvocation(java.lang.Object javaInvokee) |
private IRubyObject |
tryProxyInvocation(java.lang.Object javaInvokee,
java.lang.Object... args) |
private IRubyObject |
tryProxyInvocation(java.lang.Object javaInvokee,
java.lang.Object arg0) |
private IRubyObject |
tryProxyInvocation(java.lang.Object javaInvokee,
java.lang.Object arg0,
java.lang.Object arg1) |
private IRubyObject |
tryProxyInvocation(java.lang.Object javaInvokee,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2) |
private IRubyObject |
tryProxyInvocation(java.lang.Object javaInvokee,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3) |
IRubyObject |
type_parameters() |
arity, checkArity, convertArguments, convertArguments, dumpArgTypes, exception_types, generic_exception_types, generic_parameter_types, getArity, getParameterTypes, handleIllegalAccessEx, handleIllegalAccessEx, handleInvocationTargetEx, handlelIllegalArgumentEx, handlelIllegalArgumentEx, handlelIllegalArgumentEx, handleThrowable, inspectParameterTypes, parameter_annotations, parameter_types, registerRubyMethods, to_generic_string, varargs_pannotation_present_p, annotation, annotations_p, annotations, declared_annotations_p, declared_annotations, declaring_class, hash, isAccessible, modifiers, op_equal, same, same, setAccessible, synthetic_p, to_string, toJava, toStringattachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, getNativeTypeIndex, initialize, initialize, inspect, op_eqq, 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_equal, 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, to_s, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnderprivate final java.lang.reflect.Method method
private final java.lang.Class<?> boxedReturnType
private final boolean isFinal
private final JavaUtil.JavaConverter returnConverter
public JavaMethod(Ruby runtime, java.lang.reflect.Method method)
public final java.lang.reflect.Method getValue()
public static RubyClass createJavaMethodClass(Ruby runtime, RubyModule javaModule)
@Deprecated public static JavaMethod create(Ruby runtime, java.lang.reflect.Method method)
@Deprecated public static JavaMethod create(Ruby runtime, java.lang.Class<?> javaClass, java.lang.String methodName, java.lang.Class<?>[] argumentTypes)
@Deprecated public static JavaMethod createDeclared(Ruby runtime, java.lang.Class<?> javaClass, java.lang.String methodName, java.lang.Class<?>[] argumentTypes)
public static JavaMethod getMatchingDeclaredMethod(Ruby runtime, java.lang.Class<?> javaClass, java.lang.String methodName, java.lang.Class<?>[] argumentTypes)
public final boolean equals(java.lang.Object other)
RubyObjectequals in class JavaAccessibleObjectpublic final int hashCode()
RubyObjecthashCode in class JavaAccessibleObjectpublic RubyString name()
name in class JavaAccessibleObjectpublic RubyBoolean public_p()
public_p in class JavaCallablepublic RubyBoolean final_p()
public IRubyObject invoke(IRubyObject[] args)
public IRubyObject invoke_static(IRubyObject[] args)
public IRubyObject return_type()
public IRubyObject type_parameters()
public IRubyObject invokeDirect(java.lang.Object javaInvokee, java.lang.Object[] args)
public IRubyObject invokeDirect(java.lang.Object javaInvokee)
public IRubyObject invokeDirect(java.lang.Object javaInvokee, java.lang.Object arg0)
public IRubyObject invokeDirect(java.lang.Object javaInvokee, java.lang.Object arg0, java.lang.Object arg1)
public IRubyObject invokeDirect(java.lang.Object javaInvokee, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2)
public IRubyObject invokeDirect(java.lang.Object javaInvokee, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
public IRubyObject invokeStaticDirect(java.lang.Object[] args)
public IRubyObject invokeStaticDirect()
public IRubyObject invokeStaticDirect(java.lang.Object arg0)
public IRubyObject invokeStaticDirect(java.lang.Object arg0, java.lang.Object arg1)
public IRubyObject invokeStaticDirect(java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2)
public IRubyObject invokeStaticDirect(java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
private void checkInstanceof(java.lang.Object javaInvokee)
throws RaiseException
RaiseExceptionprivate IRubyObject invokeWithExceptionHandling(java.lang.reflect.Method method, java.lang.Object javaInvokee, java.lang.Object[] arguments)
private IRubyObject invokeDirectSuperWithExceptionHandling(java.lang.reflect.Method method, java.lang.Object javaInvokee, java.lang.Object... arguments)
private IRubyObject invokeDirectWithExceptionHandling(java.lang.reflect.Method method, java.lang.Object javaInvokee, java.lang.Object[] arguments)
private IRubyObject invokeDirectWithExceptionHandling(java.lang.reflect.Method method, java.lang.Object javaInvokee)
private IRubyObject invokeDirectWithExceptionHandling(java.lang.reflect.Method method, java.lang.Object javaInvokee, java.lang.Object arg0)
private IRubyObject invokeDirectWithExceptionHandling(java.lang.reflect.Method method, java.lang.Object javaInvokee, java.lang.Object arg0, java.lang.Object arg1)
private IRubyObject invokeDirectWithExceptionHandling(java.lang.reflect.Method method, java.lang.Object javaInvokee, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2)
private IRubyObject invokeDirectWithExceptionHandling(java.lang.reflect.Method method, java.lang.Object javaInvokee, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
private IRubyObject convertReturn(java.lang.Object result)
public java.lang.Class<?>[] getExceptionTypes()
getExceptionTypes in interface ParameterTypesgetExceptionTypes in class JavaCallablepublic java.lang.reflect.Type[] getGenericParameterTypes()
getGenericParameterTypes in class JavaCallablepublic java.lang.reflect.Type[] getGenericExceptionTypes()
getGenericExceptionTypes in class JavaCallablepublic java.lang.annotation.Annotation[][] getParameterAnnotations()
getParameterAnnotations in class JavaCallablepublic final boolean isVarArgs()
isVarArgs in interface ParameterTypesisVarArgs in class JavaCallableprotected java.lang.String nameOnInspection()
nameOnInspection in class JavaCallablepublic 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 RubyBoolean static_p()
public RubyBoolean bridge_p()
private boolean isStatic()
public final int getModifiers()
getModifiers in class JavaCallablepublic java.lang.String toGenericString()
toGenericString in class JavaCallablepublic final java.lang.reflect.AccessibleObject accessibleObject()
accessibleObject in class JavaAccessibleObjectprivate boolean mightBeProxy(java.lang.Object javaInvokee)
private IRubyObject tryProxyInvocation(java.lang.Object javaInvokee, java.lang.Object... args)
private IRubyObject tryProxyInvocation(java.lang.Object javaInvokee)
private IRubyObject tryProxyInvocation(java.lang.Object javaInvokee, java.lang.Object arg0)
private IRubyObject tryProxyInvocation(java.lang.Object javaInvokee, java.lang.Object arg0, java.lang.Object arg1)
private IRubyObject tryProxyInvocation(java.lang.Object javaInvokee, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2)
private IRubyObject tryProxyInvocation(java.lang.Object javaInvokee, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
public static RaiseException newMethodNotFoundError(Ruby runtime, java.lang.Class target, java.lang.String prettyName, java.lang.String simpleName)
public static RaiseException newArgSizeMismatchError(Ruby runtime, java.lang.Class... argTypes)