MockStatement.java
- /***************************************************************************
- Copyright 2012 Emily Estes
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ***************************************************************************/
- package net.metanotion.sql;
- import java.io.InputStream;
- import java.io.Reader;
- import java.math.BigDecimal;
- import java.net.URL;
- import java.util.Calendar;
- import java.util.Map;
- import java.sql.Array;
- import java.sql.Blob;
- import java.sql.CallableStatement;
- import java.sql.Clob;
- import java.sql.Connection;
- import java.sql.Date;
- import java.sql.NClob;
- import java.sql.ParameterMetaData;
- import java.sql.Ref;
- import java.sql.ResultSet;
- import java.sql.ResultSetMetaData;
- import java.sql.RowId;
- import java.sql.SQLException;
- import java.sql.SQLWarning;
- import java.sql.SQLXML;
- import java.sql.Time;
- import java.sql.Timestamp;
- /** This is a "null" implementation of a JDBC Statement. It's not really meant to be useful
- other than as a way to test code with non-null instances of Statement. It would be acceptable
- to expand this to a more interesting "mock" implementation of a statement, but it mostly consists
- of the bare minimum code to "technically" implement the {@link java.sql.CallableStatement} interface.
- */
- @SuppressWarnings("deprecation")
- public final class MockStatement implements CallableStatement {
- private static final int FETCH_SIZE = 1000;
- private static final int MAX_FIELD_SIZE = 1000;
- private static final int MAX_ROWS = 1000;
- private static final int TIMEOUT = 30;
- private Connection conn = null;
- /** Create a new fake statement with no connection. */
- public MockStatement() { }
- /** Create a new fake statement for the given connection.
- @param conn The connection this statement is attached to.
- */
- public MockStatement(final Connection conn) { this.conn = conn; }
- @Override public void addBatch(final String sql) { }
- @Override public void cancel() { }
- @Override public void clearBatch() { }
- @Override public void clearWarnings() { }
- @Override public void close() { }
- @Override public void closeOnCompletion() throws SQLException { }
- @Override public boolean execute(final String sql) { return true; }
- @Override public boolean execute(final String sql, final int autoGeneratedKeys) { return true; }
- @Override public boolean execute(final String sql, final int[] columnIndexes) { return true; }
- @Override public boolean execute(final String sql, final String[] columnNames) { return true; }
- @Override public int[] executeBatch() { return null; }
- @Override public ResultSet executeQuery(final String sql) { return new MockResultSet(this); }
- @Override public int executeUpdate(final String sql) { return 1; }
- @Override public int executeUpdate(final String sql, final int autoGeneratedKeys) { return 1; }
- @Override public int executeUpdate(final String sql, final int[] columnIndexes) { return 1; }
- @Override public int executeUpdate(final String sql, final String[] columnNames) { return 1; }
- @Override public Connection getConnection() { return conn; }
- @Override public int getFetchDirection() { return 0; }
- @Override public int getFetchSize() { return FETCH_SIZE; }
- @Override public ResultSet getGeneratedKeys() { return null; }
- @Override public int getMaxFieldSize() { return MAX_FIELD_SIZE; }
- @Override public int getMaxRows() { return MAX_ROWS; }
- @Override public boolean getMoreResults() { return false; }
- @Override public boolean getMoreResults(final int current) { return false; }
- @Override public int getQueryTimeout() { return TIMEOUT; }
- @Override public ResultSet getResultSet() { return null; }
- @Override public int getResultSetConcurrency() { return ResultSet.CONCUR_READ_ONLY; }
- @Override public int getResultSetHoldability() { return ResultSet.CLOSE_CURSORS_AT_COMMIT; }
- @Override public int getResultSetType() { return ResultSet.TYPE_SCROLL_SENSITIVE; }
- @Override public int getUpdateCount() { return 1; }
- @Override public SQLWarning getWarnings() { return null; }
- @Override public boolean isClosed() { return false; }
- @Override public boolean isCloseOnCompletion() throws SQLException { return false; }
- @Override public boolean isPoolable() { return true; }
- @Override public void setCursorName(String name) { }
- @Override public void setEscapeProcessing(final boolean enable) { }
- @Override public void setFetchDirection(final int direction) { }
- @Override public void setFetchSize(final int rows) { }
- @Override public void setMaxFieldSize(final int max) { }
- @Override public void setMaxRows(final int max) { }
- @Override public void setPoolable(final boolean poolable) { }
- @Override public void setQueryTimeout(final int seconds) { }
- @Override public void addBatch() { }
- @Override public void clearParameters() { }
- @Override public boolean execute() { return true; }
- @Override public ResultSet executeQuery() { return new MockResultSet(this); }
- @Override public int executeUpdate() { return 1; }
- @Override public ResultSetMetaData getMetaData() { return null; }
- @Override public ParameterMetaData getParameterMetaData() { return null; }
- @Override public void setArray(final int parameterIndex, final Array x) { }
- @Override public void setAsciiStream(final int parameterIndex, final InputStream x) { }
- @Override public void setAsciiStream(final int parameterIndex, final InputStream x, final int length) { }
- @Override public void setAsciiStream(final int parameterIndex, final InputStream x, final long length) { }
- @Override public void setBigDecimal(final int parameterIndex, final BigDecimal x) { }
- @Override public void setBinaryStream(final int parameterIndex, final InputStream x) { }
- @Override public void setBinaryStream(final int parameterIndex, final InputStream x, final int length) { }
- @Override public void setBinaryStream(final int parameterIndex, final InputStream x, final long length) { }
- @Override public void setBlob(final int parameterIndex, final Blob x) { }
- @Override public void setBlob(final int parameterIndex, final InputStream inputStream) { }
- @Override public void setBlob(final int parameterIndex, final InputStream inputStream, final long length) { }
- @Override public void setBoolean(final int parameterIndex, final boolean x) { }
- @Override public void setByte(final int parameterIndex, final byte x) { }
- @Override public void setBytes(final int parameterIndex, final byte[] x) { }
- @Override public void setCharacterStream(final int parameterIndex, final Reader reader) { }
- @Override public void setCharacterStream(final int parameterIndex, final Reader reader, final int length) { }
- @Override public void setCharacterStream(final int parameterIndex, final Reader reader, final long length) { }
- @Override public void setClob(final int parameterIndex, final Clob x) { }
- @Override public void setClob(final int parameterIndex, final Reader reader) { }
- @Override public void setClob(final int parameterIndex, final Reader reader, final long length) { }
- @Override public void setDate(final int parameterIndex, final Date x) { }
- @Override public void setDate(final int parameterIndex, final Date x, final Calendar cal) { }
- @Override public void setDouble(final int parameterIndex, final double x) { }
- @Override public void setFloat(final int parameterIndex, final float x) { }
- @Override public void setInt(final int parameterIndex, final int x) { }
- @Override public void setLong(final int parameterIndex, final long x) { }
- @Override public void setNCharacterStream(final int parameterIndex, final Reader value) { }
- @Override public void setNCharacterStream(final int parameterIndex, final Reader value, final long length) { }
- @Override public void setNClob(final int parameterIndex, final NClob value) { }
- @Override public void setNClob(final int parameterIndex, final Reader reader) { }
- @Override public void setNClob(final int parameterIndex, final Reader reader, final long length) { }
- @Override public void setNString(int parameterIndex, String value) { }
- @Override public void setNull(int parameterIndex, int sqlType) { }
- @Override public void setNull(int parameterIndex, int sqlType, String typeName) { }
- @Override public void setObject(int parameterIndex, Object x) { }
- @Override public void setObject(int parameterIndex, Object x, int targetSqlType) { }
- @Override public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) { }
- @Override public void setRef(int parameterIndex, Ref x) { }
- @Override public void setRowId(int parameterIndex, RowId x) { }
- @Override public void setShort(int parameterIndex, short x) { }
- @Override public void setSQLXML(int parameterIndex, SQLXML xmlObject) { }
- @Override public void setString(int parameterIndex, String x) { }
- @Override public void setTime(int parameterIndex, Time x) { }
- @Override public void setTime(int parameterIndex, Time x, Calendar cal) { }
- @Override public void setTimestamp(int parameterIndex, Timestamp x) { }
- @Override public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) { }
- @Override public void setUnicodeStream(int parameterIndex, InputStream x, int length) { }
- @Override public void setURL(int parameterIndex, URL x) { }
- @Override public Array getArray(int parameterIndex) { return null; }
- @Override public Array getArray(String parameterName) { return null; }
- @Override public BigDecimal getBigDecimal(int parameterIndex) { return null; }
- @Override public BigDecimal getBigDecimal(int parameterIndex, int scale) { return null; }
- @Override public BigDecimal getBigDecimal(String parameterName) { return null; }
- @Override public Blob getBlob(int parameterIndex) { return null; }
- @Override public Blob getBlob(String parameterName) { return null; }
- @Override public boolean getBoolean(int parameterIndex) { return false; }
- @Override public boolean getBoolean(String parameterName) { return false; }
- @Override public byte getByte(int parameterIndex) { return 0; }
- @Override public byte getByte(String parameterName) { return 0; }
- @Override public byte[] getBytes(int parameterIndex) { return null; }
- @Override public byte[] getBytes(String parameterName) { return null; }
- @Override public Reader getCharacterStream(int parameterIndex) { return null; }
- @Override public Reader getCharacterStream(String parameterName) { return null; }
- @Override public Clob getClob(int parameterIndex) { return null; }
- @Override public Clob getClob(String parameterName) { return null; }
- @Override public Date getDate(int parameterIndex) { return null; }
- @Override public Date getDate(int parameterIndex, Calendar cal) { return null; }
- @Override public Date getDate(String parameterName) { return null; }
- @Override public Date getDate(String parameterName, Calendar cal) { return null; }
- @Override public double getDouble(int parameterIndex) { return 0; }
- @Override public double getDouble(String parameterName) { return 0; }
- @Override public float getFloat(int parameterIndex) { return 0; }
- @Override public float getFloat(String parameterName) { return 0; }
- @Override public int getInt(int parameterIndex) { return 0; }
- @Override public int getInt(String parameterName) { return 0; }
- @Override public long getLong(int parameterIndex) { return 0; }
- @Override public long getLong(String parameterName) { return 0; }
- @Override public Reader getNCharacterStream(int parameterIndex) { return null; }
- @Override public Reader getNCharacterStream(String parameterName) { return null; }
- @Override public NClob getNClob(int parameterIndex) { return null; }
- @Override public NClob getNClob(String parameterName) { return null; }
- @Override public String getNString(int parameterIndex) { return null; }
- @Override public String getNString(String parameterName) { return null; }
- @Override public Object getObject(int parameterIndex) { return null; }
- @Override public <T> T getObject(int parameterIndex, Class<T> type) { return null; }
- @Override public Object getObject(int parameterIndex, Map<String,Class<?>> map) { return null; }
- @Override public Object getObject(String parameterName) { return null; }
- @Override public <T> T getObject(String parameterName, Class<T> type) { return null; }
- @Override public Object getObject(String parameterName, Map<String,Class<?>> map) { return null; }
- @Override public Ref getRef(int parameterIndex) { return null; }
- @Override public Ref getRef(String parameterName) { return null; }
- @Override public RowId getRowId(int parameterIndex) { return null; }
- @Override public RowId getRowId(String parameterName) { return null; }
- @Override public short getShort(int parameterIndex) { return 0; }
- @Override public short getShort(String parameterName) { return 0; }
- @Override public SQLXML getSQLXML(int parameterIndex) { return null; }
- @Override public SQLXML getSQLXML(String parameterName) { return null; }
- @Override public String getString(int parameterIndex) { return null; }
- @Override public String getString(String parameterName) { return null; }
- @Override public Time getTime(int parameterIndex) { return null; }
- @Override public Time getTime(int parameterIndex, Calendar cal) { return null; }
- @Override public Time getTime(String parameterName) { return null; }
- @Override public Time getTime(String parameterName, Calendar cal) { return null; }
- @Override public Timestamp getTimestamp(int parameterIndex) { return null; }
- @Override public Timestamp getTimestamp(int parameterIndex, Calendar cal) { return null; }
- @Override public Timestamp getTimestamp(String parameterName) { return null; }
- @Override public Timestamp getTimestamp(String parameterName, Calendar cal) { return null; }
- @Override public URL getURL(int parameterIndex) { return null; }
- @Override public URL getURL(String parameterName) { return null; }
- @Override public void registerOutParameter(int parameterIndex, int sqlType) { }
- @Override public void registerOutParameter(int parameterIndex, int sqlType, int scale) { }
- @Override public void registerOutParameter(int parameterIndex, int sqlType, String typeName) { }
- @Override public void registerOutParameter(String parameterName, int sqlType) { }
- @Override public void registerOutParameter(String parameterName, int sqlType, int scale) { }
- @Override public void registerOutParameter(String parameterName, int sqlType, String typeName) { }
- @Override public void setAsciiStream(String parameterName, InputStream x) { }
- @Override public void setAsciiStream(String parameterName, InputStream x, int length) { }
- @Override public void setAsciiStream(String parameterName, InputStream x, long length) { }
- @Override public void setBigDecimal(String parameterName, BigDecimal x) { }
- @Override public void setBinaryStream(String parameterName, InputStream x) { }
- @Override public void setBinaryStream(String parameterName, InputStream x, int length) { }
- @Override public void setBinaryStream(String parameterName, InputStream x, long length) { }
- @Override public void setBlob(String parameterName, Blob x) { }
- @Override public void setBlob(String parameterName, InputStream inputStream) { }
- @Override public void setBlob(String parameterName, InputStream inputStream, long length) { }
- @Override public void setBoolean(String parameterName, boolean x) { }
- @Override public void setByte(String parameterName, byte x) { }
- @Override public void setBytes(String parameterName, byte[] x) { }
- @Override public void setCharacterStream(String parameterName, Reader reader) { }
- @Override public void setCharacterStream(String parameterName, Reader reader, int length) { }
- @Override public void setCharacterStream(String parameterName, Reader reader, long length) { }
- @Override public void setClob(String parameterName, Clob x) { }
- @Override public void setClob(String parameterName, Reader reader) { }
- @Override public void setClob(String parameterName, Reader reader, long length) { }
- @Override public void setDate(String parameterName, Date x) { }
- @Override public void setDate(String parameterName, Date x, Calendar cal) { }
- @Override public void setDouble(String parameterName, double x) { }
- @Override public void setFloat(String parameterName, float x) { }
- @Override public void setInt(String parameterName, int x) { }
- @Override public void setLong(String parameterName, long x) { }
- @Override public void setNCharacterStream(String parameterName, Reader value) { }
- @Override public void setNCharacterStream(String parameterName, Reader value, long length) { }
- @Override public void setNClob(String parameterName, NClob value) { }
- @Override public void setNClob(String parameterName, Reader reader) { }
- @Override public void setNClob(String parameterName, Reader reader, long length) { }
- @Override public void setNString(String parameterName, String value) { }
- @Override public void setNull(String parameterName, int sqlType) { }
- @Override public void setNull(String parameterName, int sqlType, String typeName) { }
- @Override public void setObject(String parameterName, Object x) { }
- @Override public void setObject(String parameterName, Object x, int targetSqlType) { }
- @Override public void setObject(String parameterName, Object x, int targetSqlType, int scale) { }
- @Override public void setRowId(String parameterName, RowId x) { }
- @Override public void setShort(String parameterName, short x) { }
- @Override public void setSQLXML(String parameterName, SQLXML xmlObject) { }
- @Override public void setString(String parameterName, String x) { }
- @Override public void setTime(String parameterName, Time x) { }
- @Override public void setTime(String parameterName, Time x, Calendar cal) { }
- @Override public void setTimestamp(String parameterName, Timestamp x) { }
- @Override public void setTimestamp(String parameterName, Timestamp x, Calendar cal) { }
- @Override public void setURL(String parameterName, URL val) { }
- @Override public boolean wasNull() { return false; }
- @Override public boolean isWrapperFor(final Class<?> iface) { return false; }
- @Override public <T> T unwrap(final Class<T> iface) throws SQLException { throw new SQLException(); }
- }