org.jruby.java.proxies
Class JavaProxy

java.lang.Object
  extended by org.jruby.RubyBasicObject
      extended by org.jruby.RubyObject
          extended by 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

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.Data, RubyObject.ObjectMethods
 
Nested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.BasicObjectMethods, RubyBasicObject.Finalizer
 
Field Summary
protected  RubyClass.VariableAccessor objectAccessor
           
 
Fields inherited from class org.jruby.RubyObject
OBJECT_ALLOCATOR
 
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
 
Fields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY
 
Constructor Summary
JavaProxy(Ruby runtime, RubyClass klazz)
           
 
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.Object getObject()
           
static IRubyObject inherited(ThreadContext context, IRubyObject recv, IRubyObject subclass)
           
 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)
           
static IRubyObject op_aref(ThreadContext context, IRubyObject recv, IRubyObject[] args)
           
static IRubyObject singleton_class(IRubyObject recv)
           
static IRubyObject to_java_object(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
as, attachToObjectSpace, callInit, checkFrozen, convertToType, createObjectClass, display, dup, eql_p, eqlInternal, equalInternal, equals, evalUnder, evalUnder, extend, freeze, frozen_p, getNativeTypeIndex, hash, hashCode, id_deprecated, id, initialize_copy, initialize, inspect, 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, to_s, toString, 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, dataGetStructChecked, 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, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableGetSize, variableTableRemove, variableTableStore, variableTableSync
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

objectAccessor

protected final RubyClass.VariableAccessor objectAccessor
Constructor Detail

JavaProxy

public JavaProxy(Ruby runtime,
                 RubyClass klazz)
Method Detail

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()

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)

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)

to_java_object

public static IRubyObject to_java_object(IRubyObject recv)

equal_p

public IRubyObject equal_p(ThreadContext context,
                           IRubyObject other)
Description copied from class: RubyObject
rb_obj_equal Will use Java identity equality.

Overrides:
equal_p in class RubyObject

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)

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.