protected JavaArray asJavaObject(final Object array) { return new JavaArray(getRuntime(), array); }
protected JavaArray asJavaObject(final Object array) { return new JavaArray(getRuntime(), array); }
public static JavaObject wrap(final Ruby runtime, final Object value) { if ( value != null ) { if ( value instanceof Class ) { return JavaClass.get(runtime, (Class<?>) value); } if ( value.getClass().isArray() ) { return new JavaArray(runtime, value); } } return new JavaObject(runtime, value); }
public static JavaObject wrap(final Ruby runtime, final Object value) { if ( value != null ) { if ( value instanceof Class ) { return JavaClass.get(runtime, (Class<?>) value); } if ( value.getClass().isArray() ) { return new JavaArray(runtime, value); } } return new JavaObject(runtime, value); }
public static JavaObject wrap(Ruby runtime, Object value) { if (value != null) { if (value instanceof Class) { return JavaClass.get(runtime, (Class<?>) value); } else if (value.getClass().isArray()) { return new JavaArray(runtime, value); } } return new JavaObject(runtime, value); }
public static JavaObject wrap(Ruby runtime, Object value) { if (value != null) { if (value instanceof Class) { return JavaClass.get(runtime, (Class<?>) value); } else if (value.getClass().isArray()) { return new JavaArray(runtime, value); } } return new JavaObject(runtime, value); }
public JavaArray getJavaArray() { JavaArray javaArray = (JavaArray)dataGetStruct(); if (javaArray == null) { javaArray = new JavaArray(getRuntime(), getObject()); dataWrapStruct(javaArray); } return javaArray; }
public JavaArray getJavaArray() { JavaArray javaArray = (JavaArray)dataGetStruct(); if (javaArray == null) { javaArray = new JavaArray(getRuntime(), getObject()); dataWrapStruct(javaArray); } return javaArray; }
@JRubyMethod(required = 1) public JavaObject new_array(IRubyObject lengthArgument) { if (lengthArgument instanceof RubyInteger) { // one-dimensional array int length = (int) ((RubyInteger) lengthArgument).getLongValue(); return new JavaArray(getRuntime(), Array.newInstance(javaClass(), length)); } else if (lengthArgument instanceof RubyArray) { // n-dimensional array List list = ((RubyArray)lengthArgument).getList(); int length = list.size(); if (length == 0) { throw getRuntime().newArgumentError("empty dimensions specifier for java array"); } int[] dimensions = new int[length]; for (int i = length; --i >= 0; ) { IRubyObject dimensionLength = (IRubyObject)list.get(i); if ( !(dimensionLength instanceof RubyInteger) ) { throw getRuntime() .newTypeError(dimensionLength, getRuntime().getInteger()); } dimensions[i] = (int) ((RubyInteger) dimensionLength).getLongValue(); } return new JavaArray(getRuntime(), Array.newInstance(javaClass(), dimensions)); } else { throw getRuntime().newArgumentError( "invalid length or dimensions specifier for java array" + " - must be Integer or Array of Integer"); } }
@JRubyMethod(required = 1) public JavaObject new_array(IRubyObject lengthArgument) { if (lengthArgument instanceof RubyInteger) { // one-dimensional array int length = (int) ((RubyInteger) lengthArgument).getLongValue(); return new JavaArray(getRuntime(), Array.newInstance(javaClass(), length)); } else if (lengthArgument instanceof RubyArray) { // n-dimensional array List list = ((RubyArray)lengthArgument).getList(); int length = list.size(); if (length == 0) { throw getRuntime().newArgumentError("empty dimensions specifier for java array"); } int[] dimensions = new int[length]; for (int i = length; --i >= 0; ) { IRubyObject dimensionLength = (IRubyObject)list.get(i); if ( !(dimensionLength instanceof RubyInteger) ) { throw getRuntime() .newTypeError(dimensionLength, getRuntime().getInteger()); } dimensions[i] = (int) ((RubyInteger) dimensionLength).getLongValue(); } return new JavaArray(getRuntime(), Array.newInstance(javaClass(), dimensions)); } else { throw getRuntime().newArgumentError( "invalid length or dimensions specifier for java array" + " - must be Integer or Array of Integer"); } }
@JRubyMethod(required = 1) public JavaObject new_array(IRubyObject lengthArgument) { if (lengthArgument instanceof RubyInteger) { // one-dimensional array int length = ((RubyInteger) lengthArgument).getIntValue(); return new JavaArray(getRuntime(), Array.newInstance(javaClass(), length)); } else if (lengthArgument instanceof RubyArray) { // n-dimensional array IRubyObject[] aryLengths = ((RubyArray)lengthArgument).toJavaArrayMaybeUnsafe(); final int length = aryLengths.length; if (length == 0) { throw getRuntime().newArgumentError("empty dimensions specifier for java array"); } final int[] dimensions = new int[length]; for (int i = length; --i >= 0; ) { IRubyObject dimLength = aryLengths[i]; if ( ! ( dimLength instanceof RubyInteger ) ) { throw getRuntime().newTypeError(dimLength, getRuntime().getInteger()); } dimensions[i] = ((RubyInteger) dimLength).getIntValue(); } return new JavaArray(getRuntime(), Array.newInstance(javaClass(), dimensions)); } else { throw getRuntime().newArgumentError( "invalid length or dimensions specifier for java array - must be Integer or Array of Integer"); } }
@JRubyMethod(required = 1) public JavaObject new_array(IRubyObject lengthArgument) { if (lengthArgument instanceof RubyInteger) { // one-dimensional array int length = ((RubyInteger) lengthArgument).getIntValue(); return new JavaArray(getRuntime(), Array.newInstance(javaClass(), length)); } else if (lengthArgument instanceof RubyArray) { // n-dimensional array IRubyObject[] aryLengths = ((RubyArray)lengthArgument).toJavaArrayMaybeUnsafe(); final int length = aryLengths.length; if (length == 0) { throw getRuntime().newArgumentError("empty dimensions specifier for java array"); } final int[] dimensions = new int[length]; for (int i = length; --i >= 0; ) { IRubyObject dimLength = aryLengths[i]; if ( ! ( dimLength instanceof RubyInteger ) ) { throw getRuntime().newTypeError(dimLength, getRuntime().getInteger()); } dimensions[i] = ((RubyInteger) dimLength).getIntValue(); } return new JavaArray(getRuntime(), Array.newInstance(javaClass(), dimensions)); } else { throw getRuntime().newArgumentError( "invalid length or dimensions specifier for java array - must be Integer or Array of Integer"); } }