public static ArrayJavaProxy newProxiedArray(Ruby runtime, Class<?> componentType, JavaUtil.JavaConverter converter, int size) { final Object array = Array.newInstance(componentType, size); RubyClass proxyClass = JavaClass.get(runtime, array.getClass()).getProxyClass(); return new ArrayJavaProxy(runtime, proxyClass, array, converter); }
public static ArrayJavaProxy newProxiedArray(Ruby runtime, Class<?> componentType, JavaUtil.JavaConverter converter, int size) { final Object array = Array.newInstance(componentType, size); RubyClass proxyClass = JavaClass.get(runtime, array.getClass()).getProxyClass(); return new ArrayJavaProxy(runtime, proxyClass, array, converter); }
@JRubyMethod(name = "new") public IRubyObject _new(ThreadContext context) { Ruby runtime = context.runtime; Object array = Array.newInstance(elementClass, dimensions); return new ArrayJavaProxy(runtime, Java.getProxyClassForObject(runtime, array), array); }
public static ArrayJavaProxy newProxiedArray(Ruby runtime, Class componentType, JavaUtil.JavaConverter converter, int size) { Object ary = Array.newInstance(componentType, size); RubyClass newProxyClass = (RubyClass)JavaClass.get(runtime, ary.getClass()).getProxyClass(); ArrayJavaProxy proxy = new ArrayJavaProxy(runtime, newProxyClass, ary, converter); return proxy; }
public static ArrayJavaProxy newProxiedArray(Ruby runtime, Class componentType, JavaUtil.JavaConverter converter, int size) { Object ary = Array.newInstance(componentType, size); RubyClass newProxyClass = (RubyClass)JavaClass.get(runtime, ary.getClass()).getProxyClass(); ArrayJavaProxy proxy = new ArrayJavaProxy(runtime, newProxyClass, ary, converter); return proxy; }
static ArrayJavaProxy newArray(final Ruby runtime, final Class<?> elementType, final int... dimensions) { final Object array; try { array = Array.newInstance(elementType, dimensions); } catch (IllegalArgumentException e) { throw runtime.newArgumentError("can not create " + dimensions.length + " dimensional array"); } return new ArrayJavaProxy(runtime, Java.getProxyClassForObject(runtime, array), array); }
static ArrayJavaProxy newArray(final Ruby runtime, final Class<?> elementType, final int... dimensions) { final Object array; try { array = Array.newInstance(elementType, dimensions); } catch (IllegalArgumentException e) { throw runtime.newArgumentError("can not create " + dimensions.length + " dimensional array"); } return new ArrayJavaProxy(runtime, Java.getProxyClassForObject(runtime, array), array); }
@JRubyMethod(name = "new") public IRubyObject _new(ThreadContext context) { Ruby runtime = context.runtime; Object array = Array.newInstance(elementClass, dimensions); return new ArrayJavaProxy(runtime, Java.getProxyClassForObject(runtime, array), array); }
@JRubyMethod(meta = true) public static IRubyObject new_array(ThreadContext context, IRubyObject recv, IRubyObject arg0) { JavaClass javaClass = (JavaClass) Helpers.invoke(context, recv, "java_class"); RubyClass proxyClass = (RubyClass)recv; Class componentType = javaClass.javaClass(); // construct new array proxy (ArrayJavaProxy) return new ArrayJavaProxy(context.runtime, proxyClass, Array.newInstance(componentType, (int)((RubyInteger)arg0.convertToInteger()).getLongValue())); }
@JRubyMethod(meta = true) public static IRubyObject new_array(ThreadContext context, IRubyObject recv, IRubyObject arg0) { JavaClass javaClass = (JavaClass) Helpers.invoke(context, recv, "java_class"); RubyClass proxyClass = (RubyClass)recv; Class componentType = javaClass.javaClass(); // construct new array proxy (ArrayJavaProxy) return new ArrayJavaProxy(context.runtime, proxyClass, Array.newInstance(componentType, (int)((RubyInteger)arg0.convertToInteger()).getLongValue())); }
public final IRubyObject javaArrayFromRubyArray(ThreadContext context, RubyArray fromArray) { final Ruby runtime = context.runtime; Object newArray = javaArrayFromRubyArrayDirect(context, fromArray); return new ArrayJavaProxy(runtime, Java.getProxyClassForObject(runtime, newArray), newArray, JavaUtil.getJavaConverter(javaClass())); }
public final IRubyObject javaArrayFromRubyArray(ThreadContext context, RubyArray fromArray) { final Ruby runtime = context.runtime; Object newArray = javaArrayFromRubyArrayDirect(context, fromArray); return new ArrayJavaProxy(runtime, Java.getProxyClassForObject(runtime, newArray), newArray, JavaUtil.getJavaConverter(javaClass())); }
public IRubyObject javaArrayFromRubyArray(ThreadContext context, IRubyObject fromArray) { Ruby runtime = context.runtime; if (!(fromArray instanceof RubyArray)) { throw runtime.newTypeError(fromArray, runtime.getArray()); } Object newArray = javaArrayFromRubyArrayDirect(context, fromArray); return new ArrayJavaProxy(runtime, Java.getProxyClassForObject(runtime, newArray), newArray, JavaUtil.getJavaConverter(javaClass())); }
@Override public IRubyObject dup() { final Ruby runtime = getRuntime(); RubyObject dup = new ArrayJavaProxy(runtime, getMetaClass(), cloneObject(), converter); if (isTaint()) dup.setTaint(true); initCopy(dup, this, "initialize_dup"); return dup; }
@Override public IRubyObject dup() { final Ruby runtime = getRuntime(); RubyObject dup = new ArrayJavaProxy(runtime, getMetaClass(), cloneObject(), converter); if (isTaint()) dup.setTaint(true); initCopy(dup, this, "initialize_dup"); return dup; }
public IRubyObject javaArrayFromRubyArray(ThreadContext context, IRubyObject fromArray) { Ruby runtime = context.runtime; if (!(fromArray instanceof RubyArray)) { throw runtime.newTypeError(fromArray, runtime.getArray()); } Object newArray = javaArrayFromRubyArrayDirect(context, fromArray); return new ArrayJavaProxy(runtime, Java.getProxyClassForObject(runtime, newArray), newArray, JavaUtil.getJavaConverter(javaClass())); }
public static IRubyObject allocateProxy(Object javaObject, RubyClass clazz) { // Arrays are never stored in OPC if (clazz.getSuperClass() == clazz.getRuntime().getJavaSupport().getArrayProxyClass()) { return new ArrayJavaProxy(clazz.getRuntime(), clazz, javaObject, JavaUtil.getJavaConverter(javaObject.getClass().getComponentType())); } IRubyObject proxy = clazz.allocate(); if (proxy instanceof JavaProxy) { ((JavaProxy)proxy).setObject(javaObject); } else { JavaObject wrappedObject = JavaObject.wrap(clazz.getRuntime(), javaObject); proxy.dataWrapStruct(wrappedObject); } return proxy; }
public static IRubyObject allocateProxy(Object javaObject, RubyClass clazz) { // Arrays are never stored in OPC if (clazz.getSuperClass() == clazz.getRuntime().getJavaSupport().getArrayProxyClass()) { return new ArrayJavaProxy(clazz.getRuntime(), clazz, javaObject, JavaUtil.getJavaConverter(javaObject.getClass().getComponentType())); } IRubyObject proxy = clazz.allocate(); if (proxy instanceof JavaProxy) { ((JavaProxy)proxy).setObject(javaObject); } else { JavaObject wrappedObject = JavaObject.wrap(clazz.getRuntime(), javaObject); proxy.dataWrapStruct(wrappedObject); } return proxy; }
@Override @JRubyMethod(name = "clone") public IRubyObject rbClone() { final Ruby runtime = getRuntime(); RubyObject clone = new ArrayJavaProxy(runtime, getMetaClass(), cloneObject(), converter); clone.setMetaClass(getSingletonClassClone()); if (isTaint()) clone.setTaint(true); initCopy(clone, this, "initialize_clone"); if (isFrozen()) clone.setFrozen(true); return clone; }
@Override @JRubyMethod(name = "clone") public IRubyObject rbClone() { final Ruby runtime = getRuntime(); RubyObject clone = new ArrayJavaProxy(runtime, getMetaClass(), cloneObject(), converter); clone.setMetaClass(getSingletonClassClone()); if (isTaint()) clone.setTaint(true); initCopy(clone, this, "initialize_clone"); if (isFrozen()) clone.setFrozen(true); return clone; }