sascha@4074: package de.intevation.db; sascha@4074: sascha@4074: import java.util.HashMap; sascha@4074: import java.util.Map; sascha@4074: sascha@4074: import java.sql.Connection; sascha@4074: import java.sql.SQLException; sascha@4074: sascha@4074: public class ConnectedStatements sascha@4074: { sascha@4074: protected Connection connection; sascha@4074: sascha@4074: protected Map statements; sascha@4074: sascha@4074: protected Map boundStatements; sascha@4074: sascha@4074: public ConnectedStatements( sascha@4074: Connection connection, sascha@4074: Map statements sascha@4074: ) { sascha@4074: this.connection = connection; sascha@4074: this.statements = statements; sascha@4074: sascha@4074: boundStatements = new HashMap(); sascha@4074: } sascha@4074: sascha@4074: public SymbolicStatement.Instance getStatement(String key) sascha@4074: throws SQLException sascha@4074: { sascha@4074: SymbolicStatement.Instance stmnt = boundStatements.get(key); sascha@4074: if (stmnt != null) { sascha@4074: return stmnt; sascha@4074: } sascha@4074: sascha@4074: SymbolicStatement ss = statements.get(key); sascha@4074: if (ss == null) { sascha@4074: return null; sascha@4074: } sascha@4074: sascha@4074: stmnt = ss.new Instance(connection); sascha@4074: boundStatements.put(key, stmnt); sascha@4074: return stmnt; sascha@4074: } sascha@4074: sascha@4074: public void close() { sascha@4074: for (SymbolicStatement.Instance s: boundStatements.values()) { sascha@4074: s.close(); sascha@4074: } sascha@4074: sascha@4074: try { sascha@4074: connection.close(); sascha@4074: } sascha@4074: catch (SQLException sqle) { sascha@4074: } sascha@4074: } sascha@4074: } sascha@4074: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :