org.apache.derby.impl.load
Class ImportReadData

java.lang.Object
  extended byorg.apache.derby.impl.load.ImportReadData
All Implemented Interfaces:
java.security.PrivilegedExceptionAction

final class ImportReadData
extends java.lang.Object
implements java.security.PrivilegedExceptionAction


Field Summary
(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
           
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 static int START_SIZE
           
(package private)  int stopDelimiterPosition
           
(package private)  boolean streamOpenForReading
           
private  char[] tempString
           
(package private)  int totalCharsSoFar
           
 
Constructor Summary
ImportReadData(java.lang.String inputFileName, ControlInfo controlFileReader)
           
 
Method Summary
private  void checkForWhiteSpaceInBack()
           
private  void checkForWhiteSpaceInFront()
           
 void closeStream()
          close the input data file
 int findNumberOfColumnsInARow()
           
 int getCurrentRowNumber()
          returns the number of the current row
 int getNumberOfColumns()
           
protected  void ignoreFirstRow()
          if columndefinition is true, ignore first row.
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)
           
 boolean readNextRow(java.lang.String[] returnStringArray)
          the way we read the next row from input file depends on it's format
 boolean readNextToken(char[] delimiter, int delimiterIndex, int delimiterLength, boolean isRecordSeperator)
           
 boolean readTokensUntilEndOfRecord()
           
private  void realOpenFile()
           
private  int reCheckRestOfTheCharacters(int startFrom, char[] delimiter, int delimiterLength)
           
 java.lang.Object run()
           
private  boolean skipDoubleDelimiters(char[] characterDelimiter)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

inputFileName

private java.lang.String inputFileName

columnWidths

private int[] columnWidths

rowWidth

private int rowWidth

tempString

private char[] tempString

numberOfCharsReadSoFar

private int numberOfCharsReadSoFar

bufferedReader

private java.io.BufferedReader bufferedReader

START_SIZE

private static final int START_SIZE
See Also:
Constant Field Values

currentToken

private char[] currentToken

currentTokenMaxSize

private int currentTokenMaxSize

foundStartDelimiter

boolean foundStartDelimiter

totalCharsSoFar

int totalCharsSoFar

positionOfNonWhiteSpaceCharInFront

int positionOfNonWhiteSpaceCharInFront

positionOfNonWhiteSpaceCharInBack

int positionOfNonWhiteSpaceCharInBack

lineNumber

int lineNumber

fieldStartDelimiterIndex

int fieldStartDelimiterIndex

fieldStopDelimiterIndex

int fieldStopDelimiterIndex

stopDelimiterPosition

int stopDelimiterPosition

foundStartAndStopDelimiters

boolean foundStartAndStopDelimiters

streamOpenForReading

boolean streamOpenForReading

DEFAULT_FORMAT_CODE

static final int DEFAULT_FORMAT_CODE
See Also:
Constant Field Values

ASCII_FIXED_FORMAT_CODE

static final int ASCII_FIXED_FORMAT_CODE
See Also:
Constant Field Values

formatCode

private int formatCode

hasColumnDefinition

private boolean hasColumnDefinition

recordSeparatorChar0

private char recordSeparatorChar0

fieldSeparatorChar0

private char fieldSeparatorChar0

recordSepStartNotWhite

private boolean recordSepStartNotWhite

fieldSepStartNotWhite

private boolean fieldSepStartNotWhite

controlFileReader

protected ControlInfo controlFileReader

numberOfColumns

protected int numberOfColumns

columnTypes

protected java.lang.String[] columnTypes

fieldSeparator

protected char[] fieldSeparator

fieldSeparatorLength

protected int fieldSeparatorLength

recordSeparator

protected char[] recordSeparator

recordSeparatorLength

protected int recordSeparatorLength

nullString

protected java.lang.String nullString

columnDefinition

protected java.lang.String columnDefinition

format

protected java.lang.String format

dataCodeset

protected java.lang.String dataCodeset

fieldStartDelimiter

protected char[] fieldStartDelimiter

fieldStartDelimiterLength

protected int fieldStartDelimiterLength

fieldStopDelimiter

protected char[] fieldStopDelimiter

fieldStopDelimiterLength

protected int fieldStopDelimiterLength

hasDelimiterAtEnd

protected boolean hasDelimiterAtEnd

haveSep

private boolean haveSep
Constructor Detail

ImportReadData

public ImportReadData(java.lang.String inputFileName,
                      ControlInfo controlFileReader)
               throws java.lang.Exception
Method Detail

loadPropertiesInfo

private void loadPropertiesInfo()
                         throws java.lang.Exception
Throws:
java.lang.Exception

getNumberOfColumns

public int getNumberOfColumns()

ignoreFirstRow

protected void ignoreFirstRow()
                       throws java.lang.Exception
if columndefinition is true, ignore first row. The way to do that is to just look for the record separator

Throws:
java.lang.Exception - if there is an error

loadColumnTypes

protected void loadColumnTypes()
                        throws java.lang.Exception
load the column types from the meta data line to be analyzed later in the constructor of the ImportResultSetMetaData.

Throws:
java.lang.Exception

openFile

private void openFile()
               throws java.lang.Exception
Throws:
java.lang.Exception

run

public final java.lang.Object run()
                           throws java.lang.Exception
Specified by:
run in interface java.security.PrivilegedExceptionAction
Throws:
java.lang.Exception

realOpenFile

private void realOpenFile()
                   throws java.lang.Exception
Throws:
java.lang.Exception

loadMetaData

private void loadMetaData()
                   throws java.lang.Exception
Throws:
java.lang.Exception

closeStream

public void closeStream()
                 throws java.lang.Exception
close the input data file

Throws:
java.lang.Exception - if there is an error

findNumberOfColumnsInARow

public int findNumberOfColumnsInARow()
                              throws java.lang.Exception
Throws:
java.lang.Exception

checkForWhiteSpaceInFront

private void checkForWhiteSpaceInFront()

checkForWhiteSpaceInBack

private void checkForWhiteSpaceInBack()

readTokensUntilEndOfRecord

public boolean readTokensUntilEndOfRecord()
                                   throws java.lang.Exception
Throws:
java.lang.Exception

lookForPassedSeparator

private int lookForPassedSeparator(char[] delimiter,
                                   int delimiterIndex,
                                   int delimiterLength,
                                   int nextChar,
                                   boolean lookForRecordSeperator)
                            throws java.io.IOException
Throws:
java.io.IOException

reCheckRestOfTheCharacters

private int reCheckRestOfTheCharacters(int startFrom,
                                       char[] delimiter,
                                       int delimiterLength)

skipDoubleDelimiters

private boolean skipDoubleDelimiters(char[] characterDelimiter)
                              throws java.io.IOException
Throws:
java.io.IOException

omitLineFeed

private void omitLineFeed()
                   throws java.io.IOException
Throws:
java.io.IOException

getCurrentRowNumber

public int getCurrentRowNumber()
returns the number of the current row


readNextRow

public boolean readNextRow(java.lang.String[] returnStringArray)
                    throws java.lang.Exception
the way we read the next row from input file depends on it's format

Throws:
java.lang.Exception - if there is an error

readNextFixedRow

private boolean readNextFixedRow(java.lang.String[] returnStringArray)
                          throws java.lang.Exception
Throws:
java.lang.Exception

readNextDelimitedRow

private boolean readNextDelimitedRow(java.lang.String[] returnStringArray)
                              throws java.lang.Exception
Throws:
java.lang.Exception

isFieldSep

private boolean isFieldSep(char[] chrArray)

readNextToken

public boolean readNextToken(char[] delimiter,
                             int delimiterIndex,
                             int delimiterLength,
                             boolean isRecordSeperator)
                      throws java.lang.Exception
Throws:
java.lang.Exception


Apache Derby V10.0 Engine Documentation - Copyright © 1997,2004 The Apache Software Foundation or its licensors, as applicable.