public JavaProxyConstructor[] getConstructors() { JavaProxyConstructor[] constructors = this.constructors; if ( constructors != null ) return constructors; final Ruby runtime = getRuntime(); final Constructor[] ctors = proxyClass.getConstructors(); constructors = new JavaProxyConstructor[ ctors.length ]; for ( int i = 0; i < ctors.length; i++ ) { constructors[i] = new JavaProxyConstructor(runtime, this, ctors[i]); } return this.constructors = constructors; }
public JavaProxyConstructor[] getConstructors() { Constructor[] cons = proxyClass.getConstructors(); JavaProxyConstructor[] result = new JavaProxyConstructor[cons.length]; for (int i = 0; i < cons.length; i++) { result[i] = new JavaProxyConstructor(getRuntime(), this, cons[i]); } return result; }
public JavaProxyConstructor[] getConstructors() { JavaProxyConstructor[] constructors = this.constructors; if ( constructors != null ) return constructors; final Ruby runtime = getRuntime(); final Constructor[] ctors = proxyClass.getConstructors(); constructors = new JavaProxyConstructor[ ctors.length ]; for ( int i = 0; i < ctors.length; i++ ) { constructors[i] = new JavaProxyConstructor(runtime, this, ctors[i]); } return this.constructors = constructors; }
public JavaProxyConstructor getConstructor(Class[] args) throws SecurityException, NoSuchMethodException { Class[] realArgs = new Class[args.length + 1]; System.arraycopy(args, 0, realArgs, 0, args.length); realArgs[args.length] = JavaProxyInvocationHandler.class; Constructor constructor = proxyClass.getConstructor(realArgs); return new JavaProxyConstructor(getRuntime(), this, constructor); }
public JavaProxyConstructor getConstructor(Class[] args) throws SecurityException, NoSuchMethodException { Class[] realArgs = new Class[args.length + 1]; System.arraycopy(args, 0, realArgs, 0, args.length); realArgs[args.length] = JavaProxyInvocationHandler.class; Constructor constructor = proxyClass.getConstructor(realArgs); return new JavaProxyConstructor(getRuntime(), this, constructor); }
public JavaProxyConstructor getConstructor(final Class[] args) throws SecurityException, NoSuchMethodException { final Class[] realArgs = new Class[args.length + 1]; System.arraycopy(args, 0, realArgs, 0, args.length); realArgs[ args.length ] = JavaProxyInvocationHandler.class; @SuppressWarnings("unchecked") Constructor<?> constructor = proxyClass.getConstructor(realArgs); return new JavaProxyConstructor(getRuntime(), this, constructor); }
public JavaProxyConstructor getConstructor(final Class[] args) throws SecurityException, NoSuchMethodException { final Class[] realArgs = new Class[args.length + 1]; System.arraycopy(args, 0, realArgs, 0, args.length); realArgs[ args.length ] = JavaProxyInvocationHandler.class; @SuppressWarnings("unchecked") Constructor<?> constructor = proxyClass.getConstructor(realArgs); return new JavaProxyConstructor(getRuntime(), this, constructor); }
public JavaProxyConstructor[] getConstructors() { Constructor[] cons = proxyClass.getConstructors(); JavaProxyConstructor[] result = new JavaProxyConstructor[cons.length]; for (int i = 0; i < cons.length; i++) { result[i] = new JavaProxyConstructor(getRuntime(), this, cons[i]); } return result; }
JavaProxyMethod initMethod(String name, String desc, boolean hasSuper) { Class proxy = proxyClass; try { Class[] parms = parse(proxy.getClassLoader(), desc); Method m = proxy.getDeclaredMethod(name, parms); Method sm = null; if (hasSuper) { sm = proxy.getDeclaredMethod("__super$" + name, parms); } JavaProxyMethod jpm = new ProxyMethodImpl(getRuntime(), this, m, sm); methods.add(jpm); List<JavaProxyMethod> methodsWithName = methodMap.get(name); if (methodsWithName == null) { methodsWithName = new ArrayList<JavaProxyMethod>(2); methodMap.put(name,methodsWithName); } methodsWithName.add(jpm); return jpm; } catch (ClassNotFoundException e) { throw new InternalError(e.getMessage()); } catch (SecurityException e) { throw new InternalError(e.getMessage()); } catch (NoSuchMethodException e) { throw new InternalError(e.getMessage()); } }
JavaProxyMethod initMethod(String name, String desc, boolean hasSuper) { Class proxy = proxyClass; try { Class[] parms = parse(proxy.getClassLoader(), desc); Method m = proxy.getDeclaredMethod(name, parms); Method sm = null; if (hasSuper) { sm = proxy.getDeclaredMethod("__super$" + name, parms); } JavaProxyMethod jpm = new ProxyMethodImpl(getRuntime(), this, m, sm); methods.add(jpm); List<JavaProxyMethod> methodsWithName = methodMap.get(name); if (methodsWithName == null) { methodsWithName = new ArrayList<JavaProxyMethod>(2); methodMap.put(name,methodsWithName); } methodsWithName.add(jpm); return jpm; } catch (ClassNotFoundException e) { throw new InternalError(e.getMessage()); } catch (SecurityException e) { throw new InternalError(e.getMessage()); } catch (NoSuchMethodException e) { throw new InternalError(e.getMessage()); } }
@SuppressWarnings("unchecked") JavaProxyMethod initMethod(final String name, final String desc, final boolean hasSuper) { final Class proxy = this.proxyClass; try { Class[] paramTypes = parse(proxy.getClassLoader(), desc); Method method = proxy.getDeclaredMethod(name, paramTypes); Method superMethod = null; if ( hasSuper ) { superMethod = proxy.getDeclaredMethod("__super$" + name, paramTypes); } JavaProxyMethod proxyMethod = new ProxyMethodImpl(getRuntime(), this, method, superMethod); methods.add(proxyMethod); ArrayList<JavaProxyMethod> methodsWithName = this.methodMap.get(name); if (methodsWithName == null) { methodsWithName = new ArrayList<>(2); methodMap.put(name, methodsWithName); } methodsWithName.add(proxyMethod); return proxyMethod; } catch (ClassNotFoundException e) { throw new InternalError(e.getMessage()); } catch (SecurityException e) { throw new InternalError(e.getMessage()); } catch (NoSuchMethodException e) { throw new InternalError(e.getMessage()); } }
@SuppressWarnings("unchecked") JavaProxyMethod initMethod(final String name, final String desc, final boolean hasSuper) { final Class proxy = this.proxyClass; try { Class[] paramTypes = parse(proxy.getClassLoader(), desc); Method method = proxy.getDeclaredMethod(name, paramTypes); Method superMethod = null; if ( hasSuper ) { superMethod = proxy.getDeclaredMethod("__super$" + name, paramTypes); } JavaProxyMethod proxyMethod = new ProxyMethodImpl(getRuntime(), this, method, superMethod); methods.add(proxyMethod); ArrayList<JavaProxyMethod> methodsWithName = this.methodMap.get(name); if (methodsWithName == null) { methodsWithName = new ArrayList<>(2); methodMap.put(name, methodsWithName); } methodsWithName.add(proxyMethod); return proxyMethod; } catch (ClassNotFoundException e) { throw new InternalError(e.getMessage()); } catch (SecurityException e) { throw new InternalError(e.getMessage()); } catch (NoSuchMethodException e) { throw new InternalError(e.getMessage()); } }
@JRubyMethod public RubyObject superclass() { return JavaClass.get(getRuntime(), getSuperclass()); }
@JRubyMethod public RubyObject superclass() { return JavaClass.get(getRuntime(), getSuperclass()); }
@JRubyMethod public RubyObject superclass() { return JavaClass.get(getRuntime(), getSuperclass()); }
@JRubyMethod public RubyObject superclass() { return JavaClass.get(getRuntime(), getSuperclass()); }