All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.ttddyy.dsproxy.proxy.jdk.ResultSetProxyJdbcProxyFactory Maven / Gradle / Ivy

package net.ttddyy.dsproxy.proxy.jdk;

import net.ttddyy.dsproxy.proxy.InterceptorHolder;

import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.Statement;

import static net.ttddyy.dsproxy.proxy.jdk.StatementResultSetResultInvocationHandler.statementResultSetResultProxy;

/**
 * Extension of {@link net.ttddyy.dsproxy.proxy.jdk.JdkJdbcProxyFactory} that also proxies any
 * {@link java.sql.ResultSet} results so that they can be consumed more than once.
 *
 * @author Liam Williams
 * @since 1.4
 */
public class ResultSetProxyJdbcProxyFactory extends JdkJdbcProxyFactory {

    @Override
    public Statement createStatement(Statement statement, InterceptorHolder interceptorHolder, String dataSourceName) {
        return super.createStatement(statementResultSetResultProxy(statement, Statement.class), interceptorHolder, dataSourceName);
    }

    @Override
    public PreparedStatement createPreparedStatement(PreparedStatement preparedStatement, String query, InterceptorHolder interceptorHolder, String dataSourceName) {
        return super.createPreparedStatement(statementResultSetResultProxy(preparedStatement, PreparedStatement.class), query, interceptorHolder, dataSourceName);
    }

    @Override
    public CallableStatement createCallableStatement(CallableStatement callableStatement, String query, InterceptorHolder interceptorHolder, String dataSourceName) {
        return super.createCallableStatement(statementResultSetResultProxy(callableStatement, CallableStatement.class), query, interceptorHolder, dataSourceName);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy