Project

General

Profile

1 26600 sandro.lab
package eu.dnetlib.enabling.database.resultset;
2
3
import java.util.Date;
4
5
import org.springframework.beans.factory.annotation.Required;
6
7
import eu.dnetlib.enabling.database.utils.DatabaseUtils;
8
import eu.dnetlib.enabling.resultset.ResultSetListener;
9
10
public class SQLResultSetListenerFactory {
11
12
	private DatabaseUtils dbUtils;
13
14
	public ResultSetListener createSQLListener(String db, String sql) {
15
		return new IterableSQLResultSetListener(db, sql, dbUtils);
16
	}
17
18
	public ResultSetListener createSQLListenerWithSize(String db, String sql, String sqlForSize) {
19
		return new IterableSQLResultSetListener(db, sql, sqlForSize, dbUtils);
20
	}
21
22
	public ResultSetListener createTableListener(String db, String table) {
23
		return new TableDumperResultSetListener(db, table, null, dbUtils);
24
	}
25
26
	public ResultSetListener createCondTableListener(String db, String table, String where) {
27
		return new TableDumperResultSetListener(db, table, where, dbUtils);
28
	}
29
30
	public ResultSetListener createLoggedTableListener(String db, String table, Date from, Date until) {
31
		return new LoggedTableDumperResultSetListener(db, table, from, until, dbUtils);
32
	}
33
34
	@Required
35
	public void setDbUtils(DatabaseUtils dbUtils) {
36
		this.dbUtils = dbUtils;
37
	}
38
39
}