- java.lang.Object
-
- org.apache.derby.vti.VTITemplate
-
- org.apache.derby.vti.StringColumnVTI
-
- All Implemented Interfaces:
AutoCloseable
,ResultSet
,Wrapper
,AwareVTI
public abstract class StringColumnVTI extends VTITemplate
This is an abstract table function which assumes that all columns are strings and which coerces the strings to reasonable values for various getXXX() methods. Subclasses must implement the following ResultSet methods:
- next( )
- close()
and the following protected method introduced by this class:
- getRawColumn( int columnNumber )
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.derby.vti.VTITemplate
VTITemplate.ColumnDescriptor
-
-
Field Summary
-
Fields inherited from interface java.sql.ResultSet
CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE
-
-
Constructor Summary
Constructors Constructor Description StringColumnVTI(String[] columnNames)
Build a StringColumnVTI with the given column names
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
findColumn(String columnName)
InputStream
getAsciiStream(int columnIndex)
BigDecimal
getBigDecimal(int columnIndex)
InputStream
getBinaryStream(int columnIndex)
Blob
getBlob(int columnIndex)
boolean
getBoolean(int columnIndex)
byte
getByte(int columnIndex)
byte[]
getBytes(int columnIndex)
Clob
getClob(int columnIndex)
int
getColumnCount()
Get the number of columns.String
getColumnName(int columnNumber)
Get name of a column (1-based indexing).Date
getDate(int columnIndex)
double
getDouble(int columnIndex)
float
getFloat(int columnIndex)
int
getInt(int columnIndex)
long
getLong(int columnIndex)
short
getShort(int columnIndex)
String
getString(int columnIndex)
Time
getTime(int columnIndex)
Timestamp
getTimestamp(int columnIndex)
void
setColumnNames(String[] columnNames)
Set the column names for this table function.boolean
wasNull()
-
Methods inherited from class org.apache.derby.vti.VTITemplate
absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, deleteRow, first, getArray, getArray, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBlob, getBoolean, getByte, getBytes, getCharacterStream, getCharacterStream, getClob, getConcurrency, getContext, getCursorName, getDate, getDate, getDate, getDouble, getFetchDirection, getFetchSize, getFloat, getHoldability, getInt, getLong, getMetaData, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getRef, getRef, getReturnTableSignature, getRow, getRowId, getRowId, getShort, getSQLXML, getSQLXML, getStatement, getString, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isClosed, isFirst, isLast, isWrapperFor, last, moveToCurrentRow, moveToInsertRow, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setContext, setFetchDirection, setFetchSize, unwrap, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateRowId, updateRowId, updateShort, updateShort, updateSQLXML, updateSQLXML, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.sql.ResultSet
close, next, updateObject, updateObject, updateObject, updateObject
-
-
-
-
Constructor Detail
-
StringColumnVTI
public StringColumnVTI(String[] columnNames)
Build a StringColumnVTI with the given column names
- Parameters:
columnNames
- The names of the VTI's columns
-
-
Method Detail
-
setColumnNames
public void setColumnNames(String[] columnNames) throws SQLException
Set the column names for this table function. This is useful for AwareVTIs, which need to figure out their column names after analyzing their execution context. Throws an exception if the column names have already been set.
- Parameters:
columnNames
- The names of the columns to be returned by this VTI- Throws:
SQLException
- on error
-
getColumnCount
public int getColumnCount()
Get the number of columns.
- Returns:
- the number of columns in the VTI
-
getColumnName
public String getColumnName(int columnNumber)
Get name of a column (1-based indexing).
- Parameters:
columnNumber
- 1-based position of column whose name is needed- Returns:
- the name of the corresponding column
-
wasNull
public boolean wasNull() throws SQLException
- Specified by:
wasNull
in interfaceResultSet
- Overrides:
wasNull
in classVTITemplate
- Throws:
SQLException
-
findColumn
public int findColumn(String columnName) throws SQLException
- Specified by:
findColumn
in interfaceResultSet
- Overrides:
findColumn
in classVTITemplate
- Throws:
SQLException
-
getString
public String getString(int columnIndex) throws SQLException
- Specified by:
getString
in interfaceResultSet
- Overrides:
getString
in classVTITemplate
- Throws:
SQLException
-
getBoolean
public boolean getBoolean(int columnIndex) throws SQLException
- Specified by:
getBoolean
in interfaceResultSet
- Overrides:
getBoolean
in classVTITemplate
- Throws:
SQLException
-
getByte
public byte getByte(int columnIndex) throws SQLException
- Specified by:
getByte
in interfaceResultSet
- Overrides:
getByte
in classVTITemplate
- Throws:
SQLException
-
getShort
public short getShort(int columnIndex) throws SQLException
- Specified by:
getShort
in interfaceResultSet
- Overrides:
getShort
in classVTITemplate
- Throws:
SQLException
-
getInt
public int getInt(int columnIndex) throws SQLException
- Specified by:
getInt
in interfaceResultSet
- Overrides:
getInt
in classVTITemplate
- Throws:
SQLException
-
getLong
public long getLong(int columnIndex) throws SQLException
- Specified by:
getLong
in interfaceResultSet
- Overrides:
getLong
in classVTITemplate
- Throws:
SQLException
-
getFloat
public float getFloat(int columnIndex) throws SQLException
- Specified by:
getFloat
in interfaceResultSet
- Overrides:
getFloat
in classVTITemplate
- Throws:
SQLException
-
getDouble
public double getDouble(int columnIndex) throws SQLException
- Specified by:
getDouble
in interfaceResultSet
- Overrides:
getDouble
in classVTITemplate
- Throws:
SQLException
-
getBigDecimal
public BigDecimal getBigDecimal(int columnIndex) throws SQLException
- Specified by:
getBigDecimal
in interfaceResultSet
- Overrides:
getBigDecimal
in classVTITemplate
- Throws:
SQLException
-
getBytes
public byte[] getBytes(int columnIndex) throws SQLException
- Specified by:
getBytes
in interfaceResultSet
- Overrides:
getBytes
in classVTITemplate
- Throws:
SQLException
-
getDate
public Date getDate(int columnIndex) throws SQLException
- Specified by:
getDate
in interfaceResultSet
- Overrides:
getDate
in classVTITemplate
- Throws:
SQLException
-
getTime
public Time getTime(int columnIndex) throws SQLException
- Specified by:
getTime
in interfaceResultSet
- Overrides:
getTime
in classVTITemplate
- Throws:
SQLException
-
getTimestamp
public Timestamp getTimestamp(int columnIndex) throws SQLException
- Specified by:
getTimestamp
in interfaceResultSet
- Overrides:
getTimestamp
in classVTITemplate
- Throws:
SQLException
-
getAsciiStream
public InputStream getAsciiStream(int columnIndex) throws SQLException
- Specified by:
getAsciiStream
in interfaceResultSet
- Overrides:
getAsciiStream
in classVTITemplate
- Throws:
SQLException
-
getBinaryStream
public InputStream getBinaryStream(int columnIndex) throws SQLException
- Specified by:
getBinaryStream
in interfaceResultSet
- Overrides:
getBinaryStream
in classVTITemplate
- Throws:
SQLException
-
getBlob
public Blob getBlob(int columnIndex) throws SQLException
- Specified by:
getBlob
in interfaceResultSet
- Overrides:
getBlob
in classVTITemplate
- Throws:
SQLException
-
getClob
public Clob getClob(int columnIndex) throws SQLException
- Specified by:
getClob
in interfaceResultSet
- Overrides:
getClob
in classVTITemplate
- Throws:
SQLException
-
-