Package org.apache.derbyDemo.vtis.core
Class FlatFileVTI
java.lang.Object
org.apache.derby.vti.VTITemplate
org.apache.derby.vti.StringColumnVTI
org.apache.derbyDemo.vtis.core.FlatFileVTI
- All Implemented Interfaces:
AutoCloseable,ResultSet,Wrapper,org.apache.derby.vti.AwareVTI
- Direct Known Subclasses:
LineListVTI,PropertyFileVTI,SubversionLogVTI
public abstract class FlatFileVTI
extends org.apache.derby.vti.StringColumnVTI
This VTI makes a table out of the records in a flat file. This is an abstract class. Child classes are responsible for implementing the following methods which parse and advance the file:
- parseRow() - Parses the next record of the file into an array of Strings, one for each column.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.derby.vti.VTITemplate
org.apache.derby.vti.VTITemplate.ColumnDescriptor -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate Fileprivate FileReaderprivate intprivate LineNumberReaderprivate String[]private StringFields 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
ConstructorsConstructorDescriptionFlatFileVTI(String[] columnNames, String textFileName) Build a StringColumnVTI with the given column names -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()protected intGet the current line number.protected StringgetRawColumn(int columnNumber) Get the string value of the column in the current row identified by the 1-based columnNumber.protected StringGet the name of the file being read.booleannext()protected abstract String[]parseRow()Parse the next chunk of text, using readLine(), and return the next row.protected StringreadLine()Read the next line from the file and return it.protected SQLExceptionWrap an exception in a SQLException.protected SQLExceptionWrap an exception in a SQLException.Methods inherited from class org.apache.derby.vti.StringColumnVTI
findColumn, getAsciiStream, getBigDecimal, getBinaryStream, getBlob, getBoolean, getByte, getBytes, getClob, getColumnCount, getColumnName, getDate, getDouble, getFloat, getInt, getLong, getShort, getString, getTime, getTimestamp, setColumnNames, wasNullMethods 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, 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, notImplemented, 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, updateTimestampMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.sql.ResultSet
updateObject, updateObject, updateObject, updateObject
-
Field Details
-
_textFileName
-
_file
-
_fileReader
-
_lineReader
-
_closed
private boolean _closed -
_row
-
_lineNumber
private int _lineNumber
-
-
Constructor Details
-
FlatFileVTI
Build a StringColumnVTI with the given column names
-
-
Method Details
-
parseRow
Parse the next chunk of text, using readLine(), and return the next row. Returns null if the file is exhausted.
- Throws:
SQLException
-
getRawColumn
Get the string value of the column in the current row identified by the 1-based columnNumber.
- Specified by:
getRawColumnin classorg.apache.derby.vti.StringColumnVTI- Throws:
SQLException
-
next
- Throws:
SQLException
-
close
- Throws:
SQLException
-
getMetaData
- Specified by:
getMetaDatain interfaceResultSet- Overrides:
getMetaDatain classorg.apache.derby.vti.VTITemplate- Throws:
SQLException
-
getLineNumber
protected int getLineNumber()Get the current line number.
-
getTextFileName
Get the name of the file being read.
-
readLine
Read the next line from the file and return it. Return null if the file is exhausted.
- Throws:
SQLException
-
wrap
Wrap an exception in a SQLException.
-
wrap
Wrap an exception in a SQLException.
-