/** * @see #newInstance(java.lang.Class,java.lang.Class[],java.lang.Object[]) */ public static <T,P1,P2> T newInstance(Class<T> c, Class<? extends P1> paramType1, P1 param1, Class<? extends P2> paramType2, P2 param2) { return newInstance(c, new Class[] { paramType1, paramType2 }, new Object[] { param1, param2 }); }
/** * Get the constructor of the concrete, dynamic wrapper class of the given abstract class * with matching argument types. * @param the argTypes of the constructor to look for. null signify default constructor. */ public static <T> Constructor<T> getConcreteConstructor(Class<T> abstractClass, Class<?>... argTypes) throws ClassNotFoundException { Class<? extends T> cls = makeConcrete(abstractClass); Constructor<?>[] constructors = cls.getConstructors(); int args = argTypes == null ? 0 : argTypes.length; for (Constructor<?> cons : constructors) { Class<?>[] params = cons.getParameterTypes(); if (params.length != args) continue; boolean match = false; for (int i = 0; i < params.length; i++) { match = params[i].isAssignableFrom(argTypes[i]); if (!match) break; } if (match) { return (Constructor<T>)cons; } } throw new RuntimeException(abstractClass + " has no constructor with " + (args == 0 ? "void" : Arrays.toString(argTypes))); }
/** * @see #newInstance(java.lang.Class,java.lang.Class[],java.lang.Object[]) */ public static <T> T newInstance(Class<T> c) { return newInstance(c, new Class[] { }, new Object[] { }); }
/** * @see #newInstance(java.lang.Class,java.lang.Class[],java.lang.Object[]) */ public static <T,P> T newInstance(Class<T> c, Class<? extends P> paramType, P param) { return newInstance(c, new Class[] { paramType }, new Object[] { param }); }
/** * @see #newInstance(java.lang.Class,java.lang.Class[],java.lang.Object[]) */ public static <T,P1,P2,P3> T newInstance(Class<T> c, Class<? extends P1> paramType1, P1 param1, Class<? extends P2> paramType2, P2 param2, Class<? extends P3> paramType3, P3 param3) { return newInstance(c, new Class[] { paramType1, paramType2, paramType3 }, new Object[] { param1, param2, param3 }); }
/** * @see #newInstance(java.lang.Class,java.lang.Class[],java.lang.Object[]) */ public static <T,P1,P2,P3,P4> T newInstance(Class<T> c, Class<? extends P1> paramType1, P1 param1, Class<? extends P2> paramType2, P2 param2, Class<? extends P3> paramType3, P3 param3, Class<? extends P4> paramType4, P4 param4) { return newInstance(c, new Class[] { paramType1, paramType2, paramType3, paramType4 }, new Object[] { param1, param2, param3, param4 }); } }
protected PreparedStatement prepareStatement(String sql, boolean wrap) throws SQLException { return ConcreteClassGenerator.newInstance(postgresPreparedStatementImpl, super.prepareStatement(sql, false), PostgresConnection.this, _dict); }
protected PreparedStatement prepareStatement(String sql, int rsType, int rsConcur, boolean wrap) throws SQLException { return ConcreteClassGenerator. newInstance(postgresPreparedStatementImpl, super.prepareStatement(sql, rsType, rsConcur, false), PostgresConnection.this, _dict); } }
protected PreparedStatement prepareStatement(String sql, int rsType, int rsConcur, boolean wrap) throws SQLException { return ConcreteClassGenerator. newInstance(postgresPreparedStatementImpl, super.prepareStatement(sql, rsType, rsConcur, false), PostgresConnection.this, _dict); } }
protected PreparedStatement prepareStatement(String sql, boolean wrap) throws SQLException { return ConcreteClassGenerator.newInstance(postgresPreparedStatementImpl, super.prepareStatement(sql, false), PostgresConnection.this, _dict); }
public Connection decorate(Connection conn) throws SQLException { return ConcreteClassGenerator.newInstance(postgresConnectionImpl, super.decorate(conn), this); }
public Connection decorate(Connection conn) throws SQLException { return ConcreteClassGenerator.newInstance(postgresConnectionImpl, super.decorate(conn), this); }
return ConcreteClassGenerator.newInstance(sybaseConnectionImpl, savedConn);
return ConcreteClassGenerator.newInstance(sybaseConnectionImpl, savedConn);