Top Inners Fields Constructors Methods
org.jruby.java.proxies

public final Class ArrayJavaProxy

extends JavaProxy
Class Inheritance
Imports
java.lang.reflect.Array, java.util.Arrays, org.jruby.*, org.jruby.anno.JRubyMethod, org.jruby.api.Create, org.jruby.internal.runtime.methods.DynamicMethod, org.jruby.java.util.ArrayUtils, org.jruby.javasupport.Java, .JavaUtil, org.jruby.runtime.Arity, .Block, .ThreadContext, .Visibility, org.jruby.runtime.builtin.IRubyObject, org.jruby.util.ConvertBytes, .RubyStringBuilder

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private final JavaUtil.JavaConverter
private static final byte[]
Inherited from org.jruby.java.proxies.JavaProxy:
object

Constructor Summary

AccessConstructor and Description
public
ArrayJavaProxy(Ruby runtime, RubyClass klazz, Object array)

public
ArrayJavaProxy(Ruby runtime, RubyClass klazz, Object array, JavaUtil.JavaConverter converter)

Method Summary

Modifier and TypeMethod and Description
private IRubyObject
arrayRange(final ThreadContext context, final RubyRange range)

private IRubyObject
arrayRange(final ThreadContext context, final IRubyObject rFirst, final IRubyObject rLength)

private static boolean
arraysEquals(final Object thisArray, final Object thatArray)

protected JavaArray
public IRubyObject
at(ThreadContext context, IRubyObject index)

private final IRubyObject
at(ThreadContext context, int i)

protected Object
public IRubyObject
private static int
public IRubyObject
count(final ThreadContext context, final Block block)

public IRubyObject
count(final ThreadContext context, final IRubyObject obj, final Block unused)

public static RubyClass
createArrayJavaProxy(ThreadContext context, RubyClass JavaProxy, RubyModule Enumerable)

public final IRubyObject
dig(ThreadContext context, IRubyObject[] args)

pack-priv final IRubyObject
dig(ThreadContext context, IRubyObject[] args, int idx)

public IRubyObject
public IRubyObject
each(ThreadContext context, Block block)

public IRubyObject
each_with_index(final ThreadContext context, final Block block)

public RubyBoolean
public RubyBoolean
public boolean
equals(Object
object to compare
obj
)

Overrides org.jruby.RubyObject.equals.

This override does not do a "checked" dispatch.

private boolean
equalsRubyArray(final RubyArray<T extends IRubyObject> rubyArray)

public IRubyObject
public IRubyObject
public Object
get(final int index)

public Class<?>
public final JavaArray
getJavaArray()
Deprecated

public IRubyObject
public IRubyObject
public IRubyObject
public RubyFixnum
hash(ThreadContext
the current thread context
context
)

Overrides org.jruby.RubyBasicObject.hash.

Will return the hash code of this object.

public int
hashCode()

Overrides org.jruby.RubyObject.hashCode.

This override does not do "checked" dispatch since Object usually has #hash defined.

public IRubyObject
private boolean
includes(final ThreadContext context, final Object[] array, final IRubyObject obj)

private boolean
includes(final ThreadContext context, final byte[] array, final IRubyObject obj)

private boolean
includes(final ThreadContext context, final short[] array, final IRubyObject obj)

private boolean
includes(final ThreadContext context, final int[] array, final IRubyObject obj)

private boolean
includes(final ThreadContext context, final long[] array, final IRubyObject obj)

private boolean
includes(final ThreadContext context, final char[] array, final IRubyObject obj)

private boolean
includes(final ThreadContext context, final boolean[] array, final IRubyObject obj)

private boolean
includes(final ThreadContext context, final float[] array, final IRubyObject obj)

private boolean
includes(final ThreadContext context, final double[] array, final IRubyObject obj)

private static void
initCopy(IRubyObject clone, IRubyObject original, String method)

public RubyString
inspect(ThreadContext context)

Overrides org.jruby.RubyBasicObject.inspect.

Overrides default org.jruby.runtime.builtin.IRubyObject.inspect.

Returns a string containing a human-readable representation of obj.

private static RubyString
inspectCharArrayPart(final Ruby runtime, final StringBuilder buffer, final char[] ary, final int len)

private RubyString
inspectPrimitiveArray(final Ruby runtime, final Class<?> componentClass)

public IRubyObject
public IRubyObject
last(ThreadContext context, IRubyObject count)

public final int
public RubyFixnum
public static ArrayJavaProxy
newArray(final Ruby runtime, final Class<?> elementType, final int... dimensions)
Deprecated since 10.0.

public static ArrayJavaProxy
newArray(ThreadContext context, final Class<?> elementType, final int... dimensions)

public final IRubyObject
public final IRubyObject
public final IRubyObject
public RubyBoolean
op_equal(ThreadContext context, IRubyObject other)

Overrides org.jruby.RubyBasicObject.op_equal.

Implements org.jruby.runtime.builtin.IRubyObject.op_equal.

rb_obj_equal Will by default use identity equality to compare objects.

public IRubyObject
public IRubyObject
public void
set(final int index, final Object value)

public IRubyObject
setValue(final Ruby runtime, final int index, final IRubyObject value)

protected static IRubyObject
size(ThreadContext context, ArrayJavaProxy self, IRubyObject[] args)

A size method suitable for lambda method reference implementation of RubyEnumerator.SizeFn#size(ThreadContext, IRubyObject, IRubyObject[])

private IRubyObject
subarrayProxy(ThreadContext context, Object ary, final int aryLength, int index, int size)

public RubyArray<T extends IRubyObject>
public String
toString()

Overrides org.jruby.RubyObject.toString.

The default toString method is just a wrapper that calls the Ruby "to_s" method.

Inherited from org.jruby.java.proxies.JavaProxy:
checkVariablesOnProxycreateJavaProxydataGetStructdataWrapStructequal_pfield_accessorfield_readerfield_writergetJavaClassgetJavaClassgetObjectgetVariableinheritedinitialize_copyinspectHashCodeinstallFieldjava_classjava_methodjava_methodjava_sendjava_sendjava_sendjava_sendmarshal_dumpmarshal_dumpmarshal_loadnew_arrayop_arefpersistentpersistentsetJavaClasssetJavaClasssetJavaClasssetJavaClasssetObjectsetVariablesingleton_classsingleton_classsingletonClasstoJavaunwrapwrap

Field Detail

converterback to summary
private final JavaUtil.JavaConverter converter
END_BRACKET_COLON_SPACEback to summary
private static final byte[] END_BRACKET_COLON_SPACE

Constructor Detail

ArrayJavaProxyback to summary
public ArrayJavaProxy(Ruby runtime, RubyClass klazz, Object array)
ArrayJavaProxyback to summary
public ArrayJavaProxy(Ruby runtime, RubyClass klazz, Object array, JavaUtil.JavaConverter converter)

Method Detail

arrayRangeback to summary
private IRubyObject arrayRange(final ThreadContext context, final RubyRange range)
arrayRangeback to summary
private IRubyObject arrayRange(final ThreadContext context, final IRubyObject rFirst, final IRubyObject rLength)
arraysEqualsback to summary
private static boolean arraysEquals(final Object thisArray, final Object thatArray)
asJavaObjectback to summary
protected JavaArray asJavaObject(final Object array)

Overrides org.jruby.java.proxies.JavaProxy.asJavaObject.

Deprecated

Annotations
@Override
@Deprecated
atback to summary
public IRubyObject at(ThreadContext context, IRubyObject index)
Annotations
@JRubyMethod
atback to summary
private final IRubyObject at(ThreadContext context, int i)
cloneObjectback to summary
protected Object cloneObject()

Overrides org.jruby.java.proxies.JavaProxy.cloneObject.

Annotations
@Override
component_typeback to summary
public IRubyObject component_type(ThreadContext context)
Annotations
@JRubyMethod
name:component_type
convertArrayIndexback to summary
private static int convertArrayIndex(ThreadContext context, final IRubyObject index)
countback to summary
public IRubyObject count(final ThreadContext context, final Block block)
Annotations
@JRubyMethod
name:count
countback to summary
public IRubyObject count(final ThreadContext context, final IRubyObject obj, final Block unused)
Annotations
@JRubyMethod
name:count
createArrayJavaProxyback to summary
public static RubyClass createArrayJavaProxy(ThreadContext context, RubyClass JavaProxy, RubyModule Enumerable)
digback to summary
public final IRubyObject dig(ThreadContext context, IRubyObject[] args)
Annotations
@JRubyMethod
name:dig
required:1
rest:true
checkArity:false
digback to summary
pack-priv final IRubyObject dig(ThreadContext context, IRubyObject[] args, int idx)
dupback to summary
public IRubyObject dup()

Overrides org.jruby.RubyBasicObject.dup.

Implements org.jruby.runtime.builtin.IRubyObject.dup.

Doc from org.jruby.runtime.builtin.IRubyObject.dup.

RubyMethod dup.

Returns:IRubyObject

a dup-ed object

Annotations
@Override
eachback to summary
public IRubyObject each(ThreadContext context, Block block)
Annotations
@JRubyMethod
each_with_indexback to summary
public IRubyObject each_with_index(final ThreadContext context, final Block block)
Annotations
@JRubyMethod
empty_pback to summary
public RubyBoolean empty_p(ThreadContext context)
Annotations
@JRubyMethod
name:empty?
eql_pback to summary
public RubyBoolean eql_p(ThreadContext context, IRubyObject obj)

Overrides org.jruby.RubyBasicObject.eql_p.

Annotations
@JRubyMethod
name:eql?
equalsback to summary
public boolean equals(Object obj)

Overrides org.jruby.RubyObject.equals.

Doc from org.jruby.RubyObject.equals.

This override does not do a "checked" dispatch.

Parameters
obj:Object

Doc from org.jruby.RubyBasicObject.equals.

object to compare

Returns:boolean

Doc from org.jruby.RubyBasicObject.equals.

true if equals

Annotations
@Override
equalsRubyArrayback to summary
private boolean equalsRubyArray(final RubyArray<T extends IRubyObject> rubyArray)
firstback to summary
public IRubyObject first(ThreadContext context)
Annotations
@JRubyMethod
name:first
firstback to summary
public IRubyObject first(ThreadContext context, IRubyObject count)
Annotations
@JRubyMethod
name:first
getback to summary
public Object get(final int index)
getComponentTypeback to summary
public Class<?> getComponentType()
getJavaArrayback to summary
public final JavaArray getJavaArray()

Deprecated

Annotations
@Deprecated
getRangeback to summary
public IRubyObject getRange(ThreadContext context, IRubyObject[] args)
getRangeback to summary
public IRubyObject getRange(ThreadContext context, IRubyObject arg0)
getRangeback to summary
public IRubyObject getRange(ThreadContext context, IRubyObject first, IRubyObject length)
hashback to summary
public RubyFixnum hash(ThreadContext context)

Overrides org.jruby.RubyBasicObject.hash.

Doc from org.jruby.RubyBasicObject.hash.

Will return the hash code of this object. In comparison to MRI, this method will use the Java identity hash code instead of using rb_obj_id, since the usage of id in JRuby will incur the cost of some. ObjectSpace maintenance.

Parameters
context:ThreadContext

the current thread context

Returns:RubyFixnum

the hash value

Annotations
@JRubyMethod
hashCodeback to summary
public int hashCode()

Overrides org.jruby.RubyObject.hashCode.

Doc from org.jruby.RubyObject.hashCode.

This override does not do "checked" dispatch since Object usually has #hash defined.

Returns:int

the hash code

Annotations
@Override
include_pback to summary
public IRubyObject include_p(ThreadContext context, IRubyObject obj)
Annotations
@JRubyMethod
name:include?, member?
includesback to summary
private boolean includes(final ThreadContext context, final Object[] array, final IRubyObject obj)
includesback to summary
private boolean includes(final ThreadContext context, final byte[] array, final IRubyObject obj)
includesback to summary
private boolean includes(final ThreadContext context, final short[] array, final IRubyObject obj)
includesback to summary
private boolean includes(final ThreadContext context, final int[] array, final IRubyObject obj)
includesback to summary
private boolean includes(final ThreadContext context, final long[] array, final IRubyObject obj)
includesback to summary
private boolean includes(final ThreadContext context, final char[] array, final IRubyObject obj)
includesback to summary
private boolean includes(final ThreadContext context, final boolean[] array, final IRubyObject obj)
includesback to summary
private boolean includes(final ThreadContext context, final float[] array, final IRubyObject obj)
includesback to summary
private boolean includes(final ThreadContext context, final double[] array, final IRubyObject obj)
initCopyback to summary
private static void initCopy(IRubyObject clone, IRubyObject original, String method)
inspectback to summary
public RubyString inspect(ThreadContext context)

Overrides org.jruby.RubyBasicObject.inspect.

Overrides default org.jruby.runtime.builtin.IRubyObject.inspect.

Doc from org.jruby.RubyBasicObject.inspect.

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"

Annotations
@JRubyMethod
inspectCharArrayPartback to summary
private static RubyString inspectCharArrayPart(final Ruby runtime, final StringBuilder buffer, final char[] ary, final int len)
inspectPrimitiveArrayback to summary
private RubyString inspectPrimitiveArray(final Ruby runtime, final Class<?> componentClass)
lastback to summary
public IRubyObject last(ThreadContext context)
Annotations
@JRubyMethod
name:last
lastback to summary
public IRubyObject last(ThreadContext context, IRubyObject count)
Annotations
@JRubyMethod
name:last
lengthback to summary
public final int length()
lengthback to summary
public RubyFixnum length(ThreadContext context)
Annotations
@JRubyMethod
name:length, size
newArrayback to summary
public static ArrayJavaProxy newArray(final Ruby runtime, final Class<?> elementType, final int... dimensions)

Deprecated

since 10.0.

Annotations
@Deprecated
since:10.0
newArrayback to summary
public static ArrayJavaProxy newArray(ThreadContext context, final Class<?> elementType, final int... dimensions)
op_arefback to summary
public final IRubyObject op_aref(ThreadContext context, IRubyObject arg)
Annotations
@JRubyMethod
name:[]
op_arefback to summary
public final IRubyObject op_aref(ThreadContext context, IRubyObject[] args)
Annotations
@JRubyMethod
name:[]
required:1
rest:true
checkArity:false
op_asetback to summary
public final IRubyObject op_aset(ThreadContext context, IRubyObject index, IRubyObject value)
Annotations
@JRubyMethod
name:[]=
op_equalback to summary
public RubyBoolean op_equal(ThreadContext context, IRubyObject other)

Overrides org.jruby.RubyBasicObject.op_equal.

Implements org.jruby.runtime.builtin.IRubyObject.op_equal.

Doc from org.jruby.RubyBasicObject.op_equal.

rb_obj_equal Will by default use identity equality to compare objects. This follows the Ruby semantics. The name of this method doesn't follow the convention because hierarchy problems

Annotations
@Override
@JRubyMethod
name:==
op_plusback to summary
public IRubyObject op_plus(ThreadContext context, IRubyObject other)
Annotations
@JRubyMethod
name:+
rbCloneback to summary
public IRubyObject rbClone()

Overrides org.jruby.RubyBasicObject.rbClone.

Implements org.jruby.runtime.builtin.IRubyObject.rbClone.

Doc from org.jruby.runtime.builtin.IRubyObject.rbClone.

RubyMethod clone.

Returns:IRubyObject

a cloned object

Annotations
@Override
@JRubyMethod
name:clone
setback to summary
public void set(final int index, final Object value)
setValueback to summary
public IRubyObject setValue(final Ruby runtime, final int index, final IRubyObject value)
sizeback to summary
protected static IRubyObject size(ThreadContext context, ArrayJavaProxy self, IRubyObject[] args)

A size method suitable for lambda method reference implementation of RubyEnumerator.SizeFn#size(ThreadContext, IRubyObject, IRubyObject[])

See Also
RubyEnumerator.SizeFn#size(ThreadContext, IRubyObject, IRubyObject[])
subarrayProxyback to summary
private IRubyObject subarrayProxy(ThreadContext context, Object ary, final int aryLength, int index, int size)
to_aback to summary
public RubyArray<T extends IRubyObject> to_a(ThreadContext context)

Overrides org.jruby.RubyBasicObject.to_a.

Annotations
@JRubyMethod
name:to_a, entries
alias:to_ary
toStringback to summary
public String toString()

Overrides org.jruby.RubyObject.toString.

Doc from org.jruby.RubyObject.toString.

The default toString method is just a wrapper that calls the Ruby "to_s" method.

Returns:String

string representation

Annotations
@Override
org.jruby.java.proxies back to summary

private final Class ArrayJavaProxy.ArrayNewMethod

extends JavaMethodOne
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final DynamicMethod

Constructor Summary

AccessConstructor and Description
pack-priv
ArrayNewMethod(RubyModule implClass, Visibility visibility)

public
ArrayNewMethod(RubyModule implClass, Visibility visibility, DynamicMethod oldNew)

Method Summary

Modifier and TypeMethod and Description
public final IRubyObject
Inherited from org.jruby.internal.runtime.methods.JavaMethod.JavaMethodOne:
callgetAritygetSignature

Field Detail

newMethodback to summary
private final DynamicMethod newMethod

Constructor Detail

ArrayNewMethodback to summary
pack-priv ArrayNewMethod(RubyModule implClass, Visibility visibility)
ArrayNewMethodback to summary
public ArrayNewMethod(RubyModule implClass, Visibility visibility, DynamicMethod oldNew)

Method Detail

callback to summary
public final IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0)

Implements abstract org.jruby.internal.runtime.methods.JavaMethod.JavaMethodOneOrN.call.

Annotations
@Override