001 package railo.runtime.db; 002 003 import railo.runtime.PageContext; 004 import railo.runtime.exp.PageException; 005 006 public interface DataSourceManager { 007 008 /** 009 * return a database connection matching to datsource name 010 * @param datasource datasource whished 011 * @param user username to datasource 012 * @param pass password to datasource 013 * @return return a Db Connectio9n Object 014 * @throws PageException 015 * @deprecated use instead <code>getConnection(PageContext pc,DataSource ds, String user, String pass)</code> 016 */ 017 public DatasourceConnection getConnection(PageContext pc,String datasource, 018 String user, String pass) throws PageException; 019 020 /** 021 * return a database connection matching to datsource name 022 * @param ds datasource whished 023 * @param user username to datasource 024 * @param pass password to datasource 025 * @return return a Db Connectio9n Object 026 * @throws PageException 027 */ 028 public DatasourceConnection getConnection(PageContext pc,DataSource ds, String user, String pass) throws PageException; 029 030 031 public abstract void releaseConnection(PageContext pc,DatasourceConnection dc) throws PageException; 032 033 /** 034 * set state of transaction to begin 035 */ 036 public abstract void begin(); 037 038 /** 039 * set state of transaction to begin 040 * @param isolation isolation level of the transaction 041 */ 042 public abstract void begin(String isolation); 043 044 /** 045 * set state of transaction to begin 046 * @param isolation isolation level of the transaction 047 */ 048 public abstract void begin(int isolation); 049 050 /** 051 * rollback hanging transaction 052 * @throws DatabaseException 053 */ 054 public abstract void rollback() throws PageException; 055 056 public abstract void savepoint() throws PageException; 057 058 /** 059 * commit hanging transaction 060 * @throws DatabaseException 061 */ 062 public abstract void commit() throws PageException; 063 064 /** 065 * @return return if manager is in autocommit mode or not 066 */ 067 public abstract boolean isAutoCommit(); 068 069 /** 070 * ends the manual commit state 071 */ 072 public abstract void end(); 073 074 public abstract void remove(String datasource);// FUTURE deprecated 075 //FUTURE public abstract void remove(DataSource datasource); 076 077 public abstract void release(); 078 079 }