X-Git-Url: http://jaekl.net/gitweb/?p=squelch.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fjaekl%2Fsquelch%2Fdb%2FDbDriver.java;fp=src%2Fmain%2Fjava%2Fnet%2Fjaekl%2Fsquelch%2Fdb%2FDbDriver.java;h=5e73885033e4d06ae2b17c13ec27c7d7597f57f3;hp=0000000000000000000000000000000000000000;hb=63163502c2d86fad43c38ae4041c8bf4b2e4b387;hpb=7fdeab39832c2339711250dfb0a9a5c531ab7033 diff --git a/src/main/java/net/jaekl/squelch/db/DbDriver.java b/src/main/java/net/jaekl/squelch/db/DbDriver.java new file mode 100644 index 0000000..5e73885 --- /dev/null +++ b/src/main/java/net/jaekl/squelch/db/DbDriver.java @@ -0,0 +1,20 @@ +package net.jaekl.squelch.db; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +public abstract class DbDriver { + // Returns true iff. this DbDriver knows how to connect to the given JDBC URL + abstract public boolean handles(String jdbcUrl); + + // Execute line as a statement of this type + abstract String getJdbcDriverClassName(); + + // Open a new Connection to the database. Note that the caller must close() this at some point. + public Connection connect(String jdbcUrl, String userName, String password) throws ClassNotFoundException, SQLException + { + Class.forName(getJdbcDriverClassName()); + return DriverManager.getConnection(jdbcUrl, userName, password); + } +}