org.jruby.javasupport
Class JavaMethod

java.lang.Object
  extended by org.jruby.RubyObject
      extended by org.jruby.javasupport.JavaAccessibleObject
          extended by org.jruby.javasupport.JavaCallable
              extended by org.jruby.javasupport.JavaMethod
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, ParameterTypes, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType

public class JavaMethod
extends JavaCallable

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.Finalizer, RubyObject.ObjectMethods, RubyObject.VariableTableEntry
 
Field Summary
 
Fields inherited from class org.jruby.RubyObject
ALL_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, metaClassName, NEVER, NIL_F, OBJECT_ALLOCATOR, TAINTED_F, UNDEF, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, VARIABLE_TABLE_DEFAULT_CAPACITY, VARIABLE_TABLE_EMPTY_TABLE, VARIABLE_TABLE_LOAD_FACTOR, VARIABLE_TABLE_MAXIMUM_CAPACITY, variableTable, variableTableSize, variableTableThreshold
 
Fields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY
 
Constructor Summary
JavaMethod(Ruby runtime, java.lang.reflect.Method method)
           
 
Method Summary
protected  java.lang.reflect.AccessibleObject accessibleObject()
           
 RubyBoolean bridge_p()
           
static JavaMethod create(Ruby runtime, java.lang.Class<?> javaClass, java.lang.String methodName, java.lang.Class<?>[] argumentTypes)
           
static JavaMethod create(Ruby runtime, java.lang.reflect.Method method)
           
static JavaMethod createDeclared(Ruby runtime, java.lang.Class<?> javaClass, java.lang.String methodName, java.lang.Class<?>[] argumentTypes)
           
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()
           
 int getArity()
           
 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.Class<?>[] getParameterTypes()
           
 int hashCode()
          Override the Object#hashCode method to make sure that the Ruby hash is actually used as the hashcode for Ruby objects.
 IRubyObject invoke_static(IRubyObject[] args)
           
 IRubyObject invoke(IRubyObject[] args)
           
 boolean isVarArgs()
           
 RubyString name()
           
protected  java.lang.String nameOnInspection()
           
 RubyBoolean public_p()
           
 IRubyObject return_type()
           
 RubyBoolean static_p()
           
 java.lang.String toGenericString()
           
 IRubyObject type_parameters()
           
 
Methods inherited from class org.jruby.javasupport.JavaCallable
argument_types, arity, exception_types, generic_exception_types, generic_parameter_types, inspect, parameter_annotations, parameter_types, registerRubyMethods, to_generic_string, varargs_p
 
Methods inherited from class org.jruby.javasupport.JavaAccessibleObject
annotation_present_p, annotation, annotations_p, annotations, declared_annotations_p, declared_annotations, declaring_class, hash, isAccessible, modifiers, op_equal, same, setAccessible, synthetic_p, to_string
 
Methods inherited from class org.jruby.RubyObject
addFinalizer, anyToString, asJavaString, asString, attachToObjectSpace, callInit, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkFrozen, checkStringType, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToString, convertToType, copySpecialInstanceVariables, createObjectClass, dataGetStruct, dataWrapStruct, display, dup, ensureInstanceVariablesSettable, eql_p, eql, eqlInternal, equal_p, equalInternal, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, freeze, frozen_p, getFlag, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariableList, getInternalVariables, getJavaClass, getMetaClass, getNativeTypeIndex, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariableCount, getVariableList, getVariableMap, getVariableNameList, hasInstanceVariable, hasInternalVariable, hasVariables, id_deprecated, id, infectBy, initialize_copy, initialize, instance_eval, instance_exec, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isRubyVariable, isTaint, isTrue, kind_of_p, makeMetaClass, method, methods, nil_p, op_eqq, op_equal, op_match, private_methods, protected_methods, public_methods, puts, rbClone, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, respond_to_p, respondsTo, send, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setTaint, singleton_methods, specificEval, syncVariables, taint, tainted_p, testFrozen, to_a, to_s, toString, type_deprecated, type, untaint, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableGetMap, variableTableGetMap, variableTableGetSize, variableTableGetTable, variableTableReadLocked, variableTableRehash, variableTableRemove, variableTableStore, variableTableSync
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JavaMethod

public JavaMethod(Ruby runtime,
                  java.lang.reflect.Method method)
Method Detail

createJavaMethodClass

public static RubyClass createJavaMethodClass(Ruby runtime,
                                              RubyModule javaModule)

create

public static JavaMethod create(Ruby runtime,
                                java.lang.reflect.Method method)

create

public static JavaMethod create(Ruby runtime,
                                java.lang.Class<?> javaClass,
                                java.lang.String methodName,
                                java.lang.Class<?>[] argumentTypes)

createDeclared

public static JavaMethod createDeclared(Ruby runtime,
                                        java.lang.Class<?> javaClass,
                                        java.lang.String methodName,
                                        java.lang.Class<?>[] argumentTypes)

getMatchingDeclaredMethod

public static JavaMethod getMatchingDeclaredMethod(Ruby runtime,
                                                   java.lang.Class<?> javaClass,
                                                   java.lang.String methodName,
                                                   java.lang.Class<?>[] argumentTypes)

equals

public boolean equals(java.lang.Object other)
Description copied from class: RubyObject
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.

Overrides:
equals in class JavaAccessibleObject

hashCode

public int hashCode()
Description copied from class: RubyObject
Override the Object#hashCode method to make sure that the Ruby hash is actually used as the hashcode for Ruby objects. If the Ruby "hash" method doesn't return a number, the Object#hashCode implementation will be used instead.

Overrides:
hashCode in class JavaAccessibleObject

name

public RubyString name()
Overrides:
name in class JavaAccessibleObject

getArity

public int getArity()
Specified by:
getArity in class JavaCallable

public_p

public RubyBoolean public_p()
Overrides:
public_p in class JavaCallable

final_p

public RubyBoolean final_p()

invoke

public IRubyObject invoke(IRubyObject[] args)

invoke_static

public IRubyObject invoke_static(IRubyObject[] args)

return_type

public IRubyObject return_type()

type_parameters

public IRubyObject type_parameters()

getParameterTypes

public java.lang.Class<?>[] getParameterTypes()
Specified by:
getParameterTypes in interface ParameterTypes
Specified by:
getParameterTypes in class JavaCallable

getExceptionTypes

public java.lang.Class<?>[] getExceptionTypes()
Specified by:
getExceptionTypes in interface ParameterTypes
Specified by:
getExceptionTypes in class JavaCallable

getGenericParameterTypes

public java.lang.reflect.Type[] getGenericParameterTypes()
Specified by:
getGenericParameterTypes in class JavaCallable

getGenericExceptionTypes

public java.lang.reflect.Type[] getGenericExceptionTypes()
Specified by:
getGenericExceptionTypes in class JavaCallable

getParameterAnnotations

public java.lang.annotation.Annotation[][] getParameterAnnotations()
Specified by:
getParameterAnnotations in class JavaCallable

isVarArgs

public boolean isVarArgs()
Specified by:
isVarArgs in interface ParameterTypes
Specified by:
isVarArgs in class JavaCallable

nameOnInspection

protected java.lang.String nameOnInspection()
Specified by:
nameOnInspection in class JavaCallable
Returns:
the name used in the head of the string returned from inspect()

static_p

public RubyBoolean static_p()

bridge_p

public RubyBoolean bridge_p()

getModifiers

public int getModifiers()
Specified by:
getModifiers in class JavaCallable

toGenericString

public java.lang.String toGenericString()
Specified by:
toGenericString in class JavaCallable

accessibleObject

protected java.lang.reflect.AccessibleObject accessibleObject()
Specified by:
accessibleObject in class JavaAccessibleObject


Copyright © 2002-2007 JRuby Team. All Rights Reserved.