📄 resultsetinpool.java
字号:
/* * Licensed under the X license (see http://www.x.org/terms.htm) */package org.ofbiz.minerva.pool.jdbc;import java.net.URL;import java.sql.Array;import java.sql.Blob;import java.sql.Clob;import java.sql.Date;import java.sql.Ref;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.SQLWarning;import java.sql.Statement;import java.sql.Time;import java.sql.Timestamp;/** * Wraps a result set to track the last used time for the owning connection. * That time is updated every time a navigation action is performed on the * result set (next, previous, etc.). * * @author Aaron Mulder (ammulder@alumni.princeton.edu) */public class ResultSetInPool implements ResultSet { private final static String CLOSED = "ResultSet has been closed!"; private ResultSet impl; private StatementInPool st; /** * Creates a new wrapper from a source result set and statement wrapper. */ ResultSetInPool(ResultSet source, StatementInPool owner) { impl = source; st = owner; } /** * Updates the last used time for the owning connection to the current time. */ public void setLastUsed() { st.setLastUsed(); } /** * Indicates that an error occured on the owning statement. */ public void setError(SQLException e) { if (st != null) st.setError(e); } /** * Gets a reference to the "real" ResultSet. This should only be used if * you need to cast that to a specific type to call a proprietary method - * you will defeat all the pooling if you use the underlying ResultSet * directly. */ public ResultSet getUnderlyingResultSet() { return impl; } // ---- Implementation of java.sql.ResultSet ---- public boolean absolute(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); setLastUsed(); try { return impl.absolute(arg0); } catch (SQLException e) { setError(e); throw e; } } public void afterLast() throws SQLException { if (impl == null) throw new SQLException(CLOSED); setLastUsed(); try { impl.afterLast(); } catch (SQLException e) { setError(e); throw e; } } public void beforeFirst() throws SQLException { if (impl == null) throw new SQLException(CLOSED); setLastUsed(); try { impl.beforeFirst(); } catch (SQLException e) { setError(e); throw e; } } public void cancelRowUpdates() throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { impl.cancelRowUpdates(); } catch (SQLException e) { setError(e); throw e; } } public void clearWarnings() throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { impl.clearWarnings(); } catch (SQLException e) { setError(e); throw e; } } public void close() throws SQLException { if (impl != null) { try { impl.close(); } catch (SQLException e) { } impl = null; } st = null; } public void deleteRow() throws SQLException { if (impl == null) throw new SQLException(CLOSED); setLastUsed(); try { impl.deleteRow(); } catch (SQLException e) { setError(e); throw e; } } public int findColumn(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.findColumn(arg0); } catch (SQLException e) { setError(e); throw e; } } public boolean first() throws SQLException { if (impl == null) throw new SQLException(CLOSED); setLastUsed(); try { return impl.first(); } catch (SQLException e) { setError(e); throw e; } } public Array getArray(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getArray(arg0); } catch (SQLException e) { setError(e); throw e; } } public Array getArray(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getArray(arg0); } catch (SQLException e) { setError(e); throw e; } } public java.io.InputStream getAsciiStream(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getAsciiStream(arg0); } catch (SQLException e) { setError(e); throw e; } } public java.io.InputStream getAsciiStream(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getAsciiStream(arg0); } catch (SQLException e) { setError(e); throw e; } } public java.math.BigDecimal getBigDecimal(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getBigDecimal(arg0); } catch (SQLException e) { setError(e); throw e; } } public java.math.BigDecimal getBigDecimal(int arg0, int arg1) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getBigDecimal(arg0, arg1); } catch (SQLException e) { setError(e); throw e; } } public java.math.BigDecimal getBigDecimal(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getBigDecimal(arg0); } catch (SQLException e) { setError(e); throw e; } } public java.math.BigDecimal getBigDecimal(String arg0, int arg1) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getBigDecimal(arg0, arg1); } catch (SQLException e) { setError(e); throw e; } } public java.io.InputStream getBinaryStream(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getBinaryStream(arg0); } catch (SQLException e) { setError(e); throw e; } } public java.io.InputStream getBinaryStream(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getBinaryStream(arg0); } catch (SQLException e) { setError(e); throw e; } } public Blob getBlob(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getBlob(arg0); } catch (SQLException e) { setError(e); throw e; } } public Blob getBlob(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getBlob(arg0); } catch (SQLException e) { setError(e); throw e; } } public boolean getBoolean(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getBoolean(arg0); } catch (SQLException e) { setError(e); throw e; } } public boolean getBoolean(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getBoolean(arg0); } catch (SQLException e) { setError(e); throw e; } } public byte getByte(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getByte(arg0); } catch (SQLException e) { setError(e); throw e; } } public byte getByte(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getByte(arg0); } catch (SQLException e) { setError(e); throw e; } } public byte[] getBytes(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getBytes(arg0); } catch (SQLException e) { setError(e); throw e; } } public byte[] getBytes(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getBytes(arg0); } catch (SQLException e) { setError(e); throw e; } } public java.io.Reader getCharacterStream(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getCharacterStream(arg0); } catch (SQLException e) { setError(e); throw e; } } public java.io.Reader getCharacterStream(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getCharacterStream(arg0); } catch (SQLException e) { setError(e); throw e; } } public Clob getClob(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getClob(arg0); } catch (SQLException e) { setError(e); throw e; } } public Clob getClob(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getClob(arg0); } catch (SQLException e) { setError(e); throw e; } } public int getConcurrency() throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getConcurrency(); } catch (SQLException e) { setError(e); throw e; } } public String getCursorName() throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getCursorName(); } catch (SQLException e) { setError(e); throw e; } } public Date getDate(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getDate(arg0); } catch (SQLException e) { setError(e); throw e; } } public Date getDate(int arg0, java.util.Calendar arg1) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getDate(arg0, arg1); } catch (SQLException e) { setError(e); throw e; } } public Date getDate(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getDate(arg0); } catch (SQLException e) { setError(e); throw e; } } public Date getDate(String arg0, java.util.Calendar arg1) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getDate(arg0, arg1); } catch (SQLException e) { setError(e); throw e; } } public double getDouble(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getDouble(arg0); } catch (SQLException e) { setError(e); throw e; } } public double getDouble(String arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getDouble(arg0); } catch (SQLException e) { setError(e); throw e; } } public int getFetchDirection() throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getFetchDirection(); } catch (SQLException e) { setError(e); throw e; } } public int getFetchSize() throws SQLException { if (impl == null) throw new SQLException(CLOSED); try { return impl.getFetchSize(); } catch (SQLException e) { setError(e); throw e; } } public float getFloat(int arg0) throws SQLException { if (impl == null) throw new SQLException(CLOSED); try {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -