org.jruby.javasupport.proxy
Class JavaProxyClass.ProxyMethodImpl
java.lang.Object
org.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.javasupport.proxy.JavaProxyReflectionObject
org.jruby.javasupport.proxy.JavaProxyClass.ProxyMethodImpl
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<IRubyObject>, ParameterTypes, JavaProxyMethod, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType
- Enclosing class:
- JavaProxyClass
public static class JavaProxyClass.ProxyMethodImpl
- extends JavaProxyReflectionObject
- implements JavaProxyMethod
- See Also:
- Serialized Form
Fields inherited from class org.jruby.RubyBasicObject |
ALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, TAINTED_F, UNDEF, UNTRUSTED_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F |
Methods inherited from class org.jruby.javasupport.proxy.JavaProxyReflectionObject |
aref, aset, buildRubyArray, buildRubyArray, hash, is_java_proxy, java_class, java_type, length, op_equal, registerRubyMethods, same, to_s |
Methods inherited from class org.jruby.RubyObject |
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, getNativeTypeIndex, initialize, op_eqq, puts, specificEval |
Methods inherited from class org.jruby.RubyBasicObject |
addFinalizer, 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, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id_deprecated, id, infectBy, initialize_copy, initialize19, initialize19, initialize19, initialize19, initialize19, initObjectId, 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, send19, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, 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, yieldUnder |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.jruby.runtime.builtin.IRubyObject |
addFinalizer, 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, toJava |
JavaProxyClass.ProxyMethodImpl
public JavaProxyClass.ProxyMethodImpl(Ruby runtime,
JavaProxyClass clazz,
java.lang.reflect.Method m,
java.lang.reflect.Method sm)
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 JavaProxyReflectionObject
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 JavaProxyReflectionObject
getMethod
public java.lang.reflect.Method getMethod()
getSuperMethod
public java.lang.reflect.Method getSuperMethod()
- Specified by:
getSuperMethod
in interface JavaProxyMethod
getModifiers
public int getModifiers()
- Specified by:
getModifiers
in interface JavaProxyMethod
getName
public java.lang.String getName()
- Specified by:
getName
in interface JavaProxyMethod
getExceptionTypes
public java.lang.Class<?>[] getExceptionTypes()
- Specified by:
getExceptionTypes
in interface ParameterTypes
getParameterTypes
public java.lang.Class<?>[] getParameterTypes()
- Specified by:
getParameterTypes
in interface ParameterTypes
isVarArgs
public boolean isVarArgs()
- Specified by:
isVarArgs
in interface ParameterTypes
getState
public java.lang.Object getState()
- Description copied from interface:
JavaProxyMethod
- get state (cache target callable?) in the proxy method
- Specified by:
getState
in interface JavaProxyMethod
hasSuperImplementation
public boolean hasSuperImplementation()
- Description copied from interface:
JavaProxyMethod
- is it possible to call the super method?
- Specified by:
hasSuperImplementation
in interface JavaProxyMethod
invoke
public 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
- Specified by:
invoke
in interface JavaProxyMethod
- Returns:
-
- Throws:
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.NoSuchMethodException
- if this ProxyMethod has no super implementation
setState
public void setState(java.lang.Object state)
- Description copied from interface:
JavaProxyMethod
- store state (cache target callable?) in the proxy method
- Specified by:
setState
in interface JavaProxyMethod
toString
public java.lang.String toString()
- Description copied from class:
RubyObject
- The default toString method is just a wrapper that calls the
Ruby "to_s" method.
- Overrides:
toString
in class JavaProxyReflectionObject
defaultResult
public java.lang.Object defaultResult()
- Specified by:
defaultResult
in interface JavaProxyMethod
matches
public boolean matches(java.lang.String name,
java.lang.Class[] parameterTypes)
getReturnType
public java.lang.Class getReturnType()
- Specified by:
getReturnType
in interface JavaProxyMethod
createJavaProxyMethodClass
public static RubyClass createJavaProxyMethodClass(Ruby runtime,
RubyModule javaProxyModule)
name
public RubyObject name()
getDeclaringClass
public JavaProxyClass getDeclaringClass()
- Specified by:
getDeclaringClass
in interface JavaProxyMethod
argument_types
public RubyArray argument_types()
super_p
public IRubyObject super_p()
arity
public RubyFixnum arity()
nameOnInspection
protected java.lang.String nameOnInspection()
inspect
public IRubyObject inspect()
- Description copied from class:
RubyBasicObject
- rb_obj_inspect
call-seq:
obj.inspect => string
Returns a string containing a human-readable representation of
obj. If not overridden, uses the
to_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"
- Specified by:
inspect
in interface IRubyObject
- Overrides:
inspect
in class RubyBasicObject
- Returns:
- String
do_invoke
public IRubyObject do_invoke(IRubyObject[] nargs)
Copyright © 2002-2009 JRuby Team. All Rights Reserved.