final class ImportReadData
extends java.lang.Object
implements java.security.PrivilegedExceptionAction<java.lang.Object>
Modifier and Type | Field and Description |
---|---|
(package private) static int |
ASCII_FIXED_FORMAT_CODE |
private java.io.BufferedReader |
bufferedReader |
protected java.lang.String |
columnDefinition |
protected java.lang.String[] |
columnTypes |
private int[] |
columnWidths |
protected ControlInfo |
controlFileReader |
private char[] |
currentToken |
private int |
currentTokenMaxSize |
protected java.lang.String |
dataCodeset |
(package private) static int |
DEFAULT_FORMAT_CODE |
protected char[] |
fieldSeparator |
private char |
fieldSeparatorChar0 |
protected int |
fieldSeparatorLength |
private boolean |
fieldSepStartNotWhite |
protected char[] |
fieldStartDelimiter |
(package private) int |
fieldStartDelimiterIndex |
protected int |
fieldStartDelimiterLength |
protected char[] |
fieldStopDelimiter |
(package private) int |
fieldStopDelimiterIndex |
protected int |
fieldStopDelimiterLength |
protected java.lang.String |
format |
private int |
formatCode |
(package private) boolean |
foundStartAndStopDelimiters |
(package private) boolean |
foundStartDelimiter |
private boolean |
hasColumnDefinition |
protected boolean |
hasDelimiterAtEnd |
private boolean |
haveSep |
private java.lang.String |
inputFileName |
(package private) int |
lineNumber |
private ImportLobFile[] |
lobFileHandles |
private java.lang.String |
lobFileName |
private int |
lobLength |
private long |
lobOffset |
protected java.lang.String |
nullString |
private int |
numberOfCharsReadSoFar |
protected int |
numberOfColumns |
(package private) int |
positionOfNonWhiteSpaceCharInBack |
(package private) int |
positionOfNonWhiteSpaceCharInFront |
protected char[] |
recordSeparator |
private char |
recordSeparatorChar0 |
protected int |
recordSeparatorLength |
private boolean |
recordSepStartNotWhite |
private int |
rowWidth |
private short |
skipLines |
private static int |
START_SIZE |
(package private) int |
stopDelimiterPosition |
(package private) boolean |
streamOpenForReading |
private char[] |
tempString |
(package private) int |
totalCharsSoFar |
Constructor and Description |
---|
ImportReadData(java.lang.String inputFileName,
ControlInfo controlFileReader,
short skipLines) |
Modifier and Type | Method and Description |
---|---|
private void |
checkForWhiteSpaceInBack() |
private void |
checkForWhiteSpaceInFront() |
(package private) void |
closeStream()
close the input data file
|
(package private) int |
findNumberOfColumnsInARow() |
(package private) java.sql.Blob |
getBlobColumnFromExtFile(java.lang.String lobLocationStr,
int colIndex)
Returns a blob columnn data stored at the specified location as
a java.sql.Blob object.
|
(package private) java.sql.Clob |
getClobColumnFromExtFile(java.lang.String lobLocationStr,
int colIndex)
Returns a clob columnn data stored at the specified location as
a java.sql.Clob object.
|
(package private) java.lang.String |
getClobColumnFromExtFileAsString(java.lang.String lobLocationStr,
int colIndex)
Returns a clob columnn data stored at the specified location.
|
(package private) int |
getCurrentRowNumber()
returns the number of the current row
|
(package private) int |
getNumberOfColumns() |
protected void |
ignoreFirstRow()
if columndefinition is true, ignore first row.
|
protected void |
ignoreHeaderLines()
if skipHeaderLines is greater than 0, ignore skipHeaderLines number of lines.
|
private void |
initExternalLobFile(java.lang.String lobLocationStr,
int colIndex)
Extract the file name, offset and length from the given lob
location and setup the file resources to read the data from
the file on first invocaton.
|
private boolean |
isFieldSep(char[] chrArray) |
protected void |
loadColumnTypes()
load the column types from the meta data line to be analyzed
later in the constructor of the ImportResultSetMetaData.
|
private void |
loadMetaData() |
private void |
loadPropertiesInfo() |
private int |
lookForPassedSeparator(char[] delimiter,
int delimiterIndex,
int delimiterLength,
int nextChar,
boolean lookForRecordSeperator) |
private void |
omitLineFeed() |
private void |
openFile() |
private boolean |
readNextDelimitedRow(java.lang.String[] returnStringArray) |
private boolean |
readNextFixedRow(java.lang.String[] returnStringArray) |
(package private) boolean |
readNextRow(java.lang.String[] returnStringArray)
the way we read the next row from input file depends on it's format
|
(package private) boolean |
readNextToken(char[] delimiter,
int delimiterIndex,
int delimiterLength,
boolean isRecordSeperator) |
(package private) boolean |
readTokensUntilEndOfRecord() |
private void |
realOpenFile() |
private int |
reCheckRestOfTheCharacters(int startFrom,
char[] delimiter,
int delimiterLength) |
java.lang.Object |
run() |
private boolean |
skipDoubleDelimiters(char[] characterDelimiter) |
private java.lang.String inputFileName
private short skipLines
private int[] columnWidths
private int rowWidth
private char[] tempString
private int numberOfCharsReadSoFar
private java.io.BufferedReader bufferedReader
private static final int START_SIZE
private char[] currentToken
private int currentTokenMaxSize
boolean foundStartDelimiter
int totalCharsSoFar
int positionOfNonWhiteSpaceCharInFront
int positionOfNonWhiteSpaceCharInBack
int lineNumber
int fieldStartDelimiterIndex
int fieldStopDelimiterIndex
int stopDelimiterPosition
boolean foundStartAndStopDelimiters
boolean streamOpenForReading
static final int DEFAULT_FORMAT_CODE
static final int ASCII_FIXED_FORMAT_CODE
private int formatCode
private boolean hasColumnDefinition
private char recordSeparatorChar0
private char fieldSeparatorChar0
private boolean recordSepStartNotWhite
private boolean fieldSepStartNotWhite
protected ControlInfo controlFileReader
protected int numberOfColumns
protected java.lang.String[] columnTypes
protected char[] fieldSeparator
protected int fieldSeparatorLength
protected char[] recordSeparator
protected int recordSeparatorLength
protected java.lang.String nullString
protected java.lang.String columnDefinition
protected java.lang.String format
protected java.lang.String dataCodeset
protected char[] fieldStartDelimiter
protected int fieldStartDelimiterLength
protected char[] fieldStopDelimiter
protected int fieldStopDelimiterLength
protected boolean hasDelimiterAtEnd
private ImportLobFile[] lobFileHandles
private java.lang.String lobFileName
private long lobOffset
private int lobLength
private boolean haveSep
ImportReadData(java.lang.String inputFileName, ControlInfo controlFileReader, short skipLines) throws java.lang.Exception
java.lang.Exception
private void loadPropertiesInfo() throws java.lang.Exception
java.lang.Exception
int getNumberOfColumns()
protected void ignoreFirstRow() throws java.lang.Exception
java.lang.Exception
- if there is an errorprotected void ignoreHeaderLines() throws java.lang.Exception
java.lang.Exception
- if there is an errorprotected void loadColumnTypes() throws java.lang.Exception
java.lang.Exception
private void openFile() throws java.lang.Exception
java.lang.Exception
public final java.lang.Object run() throws java.lang.Exception
run
in interface java.security.PrivilegedExceptionAction<java.lang.Object>
java.lang.Exception
private void realOpenFile() throws java.lang.Exception
java.lang.Exception
private void loadMetaData() throws java.lang.Exception
java.lang.Exception
void closeStream() throws java.lang.Exception
java.lang.Exception
- if there is an errorint findNumberOfColumnsInARow() throws java.lang.Exception
java.lang.Exception
private void checkForWhiteSpaceInFront()
private void checkForWhiteSpaceInBack()
boolean readTokensUntilEndOfRecord() throws java.lang.Exception
java.lang.Exception
private int lookForPassedSeparator(char[] delimiter, int delimiterIndex, int delimiterLength, int nextChar, boolean lookForRecordSeperator) throws java.io.IOException
java.io.IOException
private int reCheckRestOfTheCharacters(int startFrom, char[] delimiter, int delimiterLength)
private boolean skipDoubleDelimiters(char[] characterDelimiter) throws java.io.IOException
java.io.IOException
private void omitLineFeed() throws java.io.IOException
java.io.IOException
int getCurrentRowNumber()
boolean readNextRow(java.lang.String[] returnStringArray) throws java.lang.Exception
java.lang.Exception
- if there is an errorprivate boolean readNextFixedRow(java.lang.String[] returnStringArray) throws java.lang.Exception
java.lang.Exception
private boolean readNextDelimitedRow(java.lang.String[] returnStringArray) throws java.lang.Exception
java.lang.Exception
private boolean isFieldSep(char[] chrArray)
boolean readNextToken(char[] delimiter, int delimiterIndex, int delimiterLength, boolean isRecordSeperator) throws java.lang.Exception
java.lang.Exception
java.lang.String getClobColumnFromExtFileAsString(java.lang.String lobLocationStr, int colIndex) throws java.sql.SQLException
lobLocationStr
- location of the clob data.colIndex
- number of the column. starts at 1.java.sql.SQLException
- on any errors.java.sql.Clob getClobColumnFromExtFile(java.lang.String lobLocationStr, int colIndex) throws java.sql.SQLException
lobLocationStr
- location of the clob data.colIndex
- number of the column. starts at 1.java.sql.SQLException
- on any errors.java.sql.Blob getBlobColumnFromExtFile(java.lang.String lobLocationStr, int colIndex) throws java.sql.SQLException
lobLocationStr
- location of the clob data.colIndex
- number of the column. starts at 1.java.sql.SQLException
- on any errors.private void initExternalLobFile(java.lang.String lobLocationStr, int colIndex) throws java.sql.SQLException
lobLocationStr
- location of the clob data.colIndex
- number of the column. starts at 1.java.sql.SQLException
- on any errors.Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.