org.jruby.java.proxies
Class JavaProxy
java.lang.Object
org.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.java.proxies.JavaProxy
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<IRubyObject>, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType
- Direct Known Subclasses:
- ArrayJavaProxy, ConcreteJavaProxy, InterfaceJavaProxy
public class JavaProxy
- extends RubyObject
- See Also:
- Serialized Form
Field Summary |
protected java.lang.Object |
object
|
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 |
Method Summary |
static RubyClass |
createJavaProxy(ThreadContext context)
|
java.lang.Object |
dataGetStruct()
Our version of Data_Get_Struct. |
void |
dataWrapStruct(java.lang.Object object)
Our version of Data_Wrap_Struct. |
IRubyObject |
equal_p(ThreadContext context,
IRubyObject other)
rb_obj_equal
Will use Java identity equality. |
static IRubyObject |
field_accessor(ThreadContext context,
IRubyObject recv,
IRubyObject[] args)
|
static IRubyObject |
field_reader(ThreadContext context,
IRubyObject recv,
IRubyObject[] args)
|
static IRubyObject |
field_writer(ThreadContext context,
IRubyObject recv,
IRubyObject[] args)
|
java.lang.Class |
getJavaClass()
Will return the Java interface that most closely can represent
this object, when working through JAva integration
translations. |
java.lang.Object |
getObject()
|
static IRubyObject |
inherited(ThreadContext context,
IRubyObject recv,
IRubyObject subclass)
|
IRubyObject |
initialize_copy(IRubyObject original)
rb_obj_init_copy
Initializes this object as a copy of the original, that is the
parameter to this object. |
protected int |
inspectHashCode()
We override RubyBasicObject.inspectHashCode to be the identity hash of
the contained object, so it remains consistent across wrappers. |
IRubyObject |
java_method(ThreadContext context,
IRubyObject rubyName)
|
IRubyObject |
java_method(ThreadContext context,
IRubyObject rubyName,
IRubyObject argTypes)
|
IRubyObject |
java_send(ThreadContext context,
IRubyObject rubyName)
|
IRubyObject |
java_send(ThreadContext context,
IRubyObject[] args)
|
IRubyObject |
java_send(ThreadContext context,
IRubyObject rubyName,
IRubyObject argTypes)
|
IRubyObject |
java_send(ThreadContext context,
IRubyObject rubyName,
IRubyObject argTypes,
IRubyObject arg0)
|
IRubyObject |
marshal_dump()
|
IRubyObject |
marshal_load(ThreadContext context,
IRubyObject str)
|
static IRubyObject |
op_aref(ThreadContext context,
IRubyObject recv,
IRubyObject[] args)
|
void |
setObject(java.lang.Object object)
|
static IRubyObject |
singleton_class(IRubyObject recv)
|
java.lang.Object |
toJava(java.lang.Class type)
Convert the object to the specified Java class, if possible. |
java.lang.Object |
unwrap()
|
Methods inherited from class org.jruby.RubyObject |
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, equals, getNativeTypeIndex, hashCode, initialize, op_eqq, puts, specificEval, toString |
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, dataGetStructChecked, display, dup, ensureInstanceVariablesSettable, eql_p, eql, equal_p19, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, freeze, frozen_p, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getMetaClass, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id_deprecated, id, infectBy, initialize19, initialize19, initialize19, initialize19, initialize19, initObjectId, inspect, 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, to_s, 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 |
object
protected java.lang.Object object
JavaProxy
public JavaProxy(Ruby runtime,
RubyClass klazz)
dataGetStruct
public java.lang.Object dataGetStruct()
- Description copied from interface:
IRubyObject
- Our version of Data_Get_Struct.
Returns a wrapped data value if there is one, otherwise returns null.
- Specified by:
dataGetStruct
in interface IRubyObject
- Overrides:
dataGetStruct
in class RubyBasicObject
- Returns:
- the object wrapped.
- See Also:
IRubyObject.dataGetStruct()
dataWrapStruct
public void dataWrapStruct(java.lang.Object object)
- Description copied from interface:
IRubyObject
- Our version of Data_Wrap_Struct.
This method will just set a private pointer to the object provided. This pointer is transient
and will not be accessible from Ruby.
- Specified by:
dataWrapStruct
in interface IRubyObject
- Overrides:
dataWrapStruct
in class RubyBasicObject
- Parameters:
object
- the object to wrap- See Also:
org.jruby.runtime.builtin.IRubyObject#dataWrapStruct()
getObject
public java.lang.Object getObject()
setObject
public void setObject(java.lang.Object object)
getJavaClass
public java.lang.Class getJavaClass()
- Description copied from class:
RubyBasicObject
- Will return the Java interface that most closely can represent
this object, when working through JAva integration
translations.
- Specified by:
getJavaClass
in interface IRubyObject
- Overrides:
getJavaClass
in class RubyBasicObject
- Returns:
- Class
createJavaProxy
public static RubyClass createJavaProxy(ThreadContext context)
inherited
public static IRubyObject inherited(ThreadContext context,
IRubyObject recv,
IRubyObject subclass)
singleton_class
public static IRubyObject singleton_class(IRubyObject recv)
op_aref
public static IRubyObject op_aref(ThreadContext context,
IRubyObject recv,
IRubyObject[] args)
initialize_copy
public IRubyObject initialize_copy(IRubyObject original)
- Description copied from class:
RubyBasicObject
- rb_obj_init_copy
Initializes this object as a copy of the original, that is the
parameter to this object. Will make sure that the argument
actually has the same real class as this object. It shouldn't
be possible to initialize an object with something totally
different.
- Overrides:
initialize_copy
in class RubyBasicObject
field_accessor
public static IRubyObject field_accessor(ThreadContext context,
IRubyObject recv,
IRubyObject[] args)
field_reader
public static IRubyObject field_reader(ThreadContext context,
IRubyObject recv,
IRubyObject[] args)
field_writer
public static IRubyObject field_writer(ThreadContext context,
IRubyObject recv,
IRubyObject[] args)
equal_p
public IRubyObject equal_p(ThreadContext context,
IRubyObject other)
- Description copied from class:
RubyBasicObject
- rb_obj_equal
Will use Java identity equality.
- Overrides:
equal_p
in class RubyBasicObject
java_send
public IRubyObject java_send(ThreadContext context,
IRubyObject rubyName)
java_send
public IRubyObject java_send(ThreadContext context,
IRubyObject rubyName,
IRubyObject argTypes)
java_send
public IRubyObject java_send(ThreadContext context,
IRubyObject rubyName,
IRubyObject argTypes,
IRubyObject arg0)
java_send
public IRubyObject java_send(ThreadContext context,
IRubyObject[] args)
java_method
public IRubyObject java_method(ThreadContext context,
IRubyObject rubyName)
java_method
public IRubyObject java_method(ThreadContext context,
IRubyObject rubyName,
IRubyObject argTypes)
marshal_dump
public IRubyObject marshal_dump()
marshal_load
public IRubyObject marshal_load(ThreadContext context,
IRubyObject str)
inspectHashCode
protected int inspectHashCode()
- We override RubyBasicObject.inspectHashCode to be the identity hash of
the contained object, so it remains consistent across wrappers.
- Overrides:
inspectHashCode
in class RubyBasicObject
- Returns:
- The identity hashcode of the wrapped object
toJava
public java.lang.Object toJava(java.lang.Class type)
- Description copied from interface:
IRubyObject
- Convert the object to the specified Java class, if possible.
- Specified by:
toJava
in interface IRubyObject
- Overrides:
toJava
in class RubyBasicObject
- Parameters:
type
- The target type to which the object should be converted.- See Also:
IRubyObject.toJava
unwrap
public java.lang.Object unwrap()
Copyright © 2002-2009 JRuby Team. All Rights Reserved.