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, 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 |
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 |
as, attachToObjectSpace, callInit, checkFrozen, convertToType, createObjectClass, display, dup, eql_p, eqlInternal, equal_p, equalInternal, evalUnder, evalUnder, extend, freeze, frozen_p, getNativeTypeIndex, id_deprecated, id, initialize_copy, initialize, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval, instance_exec, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, kind_of_p, method, methods, methods, methods19, nil_p, op_eqq, op_equal, op_match, op_not_match, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, puts, rbClone, remove_instance_variable, respond_to_p, respond_to_p, send, send, send, send, send, singleton_methods, singleton_methods19, singletonMethods, specificEval, specificEval, specificEval, specificEval, specificEval, taint, tainted_p, to_a, to_java, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable |
Methods inherited from class org.jruby.RubyBasicObject |
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkStringType, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, ensureInstanceVariablesSettable, eql, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, getFlag, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hasInstanceVariable, hasInternalVariable, hasVariables, infectBy, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isTaint, isTrue, isUntrusted, makeMetaClass, op_not_equal, op_not, removeFinalizers, removeInstanceVariable, removeInternalVariable, respondsTo, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setTaint, setUntrusted, setVariable, syncVariables, taint, testFrozen, testFrozen, toJava, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableGetSize, variableTableRemove, variableTableStore, variableTableSync |
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, checkStringType, 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, setFrozen, setTaint, setUntrusted, setVariable, 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:
RubyObject
- 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 RubyObject
- Returns:
- String
do_invoke
public IRubyObject do_invoke(IRubyObject[] nargs)
Copyright © 2002-2009 JRuby Team. All Rights Reserved.