- 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 intfindColumn(String columnName)InputStreamgetAsciiStream(int columnIndex)BigDecimalgetBigDecimal(int columnIndex)InputStreamgetBinaryStream(int columnIndex)BlobgetBlob(int columnIndex)booleangetBoolean(int columnIndex)bytegetByte(int columnIndex)byte[]getBytes(int columnIndex)ClobgetClob(int columnIndex)intgetColumnCount()Get the number of columns.StringgetColumnName(int columnNumber)Get name of a column (1-based indexing).DategetDate(int columnIndex)doublegetDouble(int columnIndex)floatgetFloat(int columnIndex)intgetInt(int columnIndex)longgetLong(int columnIndex)shortgetShort(int columnIndex)StringgetString(int columnIndex)TimegetTime(int columnIndex)TimestampgetTimestamp(int columnIndex)voidsetColumnNames(String[] columnNames)Set the column names for this table function.booleanwasNull()-
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:
wasNullin interfaceResultSet- Overrides:
wasNullin classVTITemplate- Throws:
SQLException
-
findColumn
public int findColumn(String columnName) throws SQLException
- Specified by:
findColumnin interfaceResultSet- Overrides:
findColumnin classVTITemplate- Throws:
SQLException
-
getString
public String getString(int columnIndex) throws SQLException
- Specified by:
getStringin interfaceResultSet- Overrides:
getStringin classVTITemplate- Throws:
SQLException
-
getBoolean
public boolean getBoolean(int columnIndex) throws SQLException- Specified by:
getBooleanin interfaceResultSet- Overrides:
getBooleanin classVTITemplate- Throws:
SQLException
-
getByte
public byte getByte(int columnIndex) throws SQLException- Specified by:
getBytein interfaceResultSet- Overrides:
getBytein classVTITemplate- Throws:
SQLException
-
getShort
public short getShort(int columnIndex) throws SQLException- Specified by:
getShortin interfaceResultSet- Overrides:
getShortin classVTITemplate- Throws:
SQLException
-
getInt
public int getInt(int columnIndex) throws SQLException- Specified by:
getIntin interfaceResultSet- Overrides:
getIntin classVTITemplate- Throws:
SQLException
-
getLong
public long getLong(int columnIndex) throws SQLException- Specified by:
getLongin interfaceResultSet- Overrides:
getLongin classVTITemplate- Throws:
SQLException
-
getFloat
public float getFloat(int columnIndex) throws SQLException- Specified by:
getFloatin interfaceResultSet- Overrides:
getFloatin classVTITemplate- Throws:
SQLException
-
getDouble
public double getDouble(int columnIndex) throws SQLException- Specified by:
getDoublein interfaceResultSet- Overrides:
getDoublein classVTITemplate- Throws:
SQLException
-
getBigDecimal
public BigDecimal getBigDecimal(int columnIndex) throws SQLException
- Specified by:
getBigDecimalin interfaceResultSet- Overrides:
getBigDecimalin classVTITemplate- Throws:
SQLException
-
getBytes
public byte[] getBytes(int columnIndex) throws SQLException- Specified by:
getBytesin interfaceResultSet- Overrides:
getBytesin classVTITemplate- Throws:
SQLException
-
getDate
public Date getDate(int columnIndex) throws SQLException
- Specified by:
getDatein interfaceResultSet- Overrides:
getDatein classVTITemplate- Throws:
SQLException
-
getTime
public Time getTime(int columnIndex) throws SQLException
- Specified by:
getTimein interfaceResultSet- Overrides:
getTimein classVTITemplate- Throws:
SQLException
-
getTimestamp
public Timestamp getTimestamp(int columnIndex) throws SQLException
- Specified by:
getTimestampin interfaceResultSet- Overrides:
getTimestampin classVTITemplate- Throws:
SQLException
-
getAsciiStream
public InputStream getAsciiStream(int columnIndex) throws SQLException
- Specified by:
getAsciiStreamin interfaceResultSet- Overrides:
getAsciiStreamin classVTITemplate- Throws:
SQLException
-
getBinaryStream
public InputStream getBinaryStream(int columnIndex) throws SQLException
- Specified by:
getBinaryStreamin interfaceResultSet- Overrides:
getBinaryStreamin classVTITemplate- Throws:
SQLException
-
getBlob
public Blob getBlob(int columnIndex) throws SQLException
- Specified by:
getBlobin interfaceResultSet- Overrides:
getBlobin classVTITemplate- Throws:
SQLException
-
getClob
public Clob getClob(int columnIndex) throws SQLException
- Specified by:
getClobin interfaceResultSet- Overrides:
getClobin classVTITemplate- Throws:
SQLException
-
-