Class FileReader
java.lang.Object
com.northconcepts.datapipeline.core.DataObject
com.northconcepts.datapipeline.core.Endpoint
com.northconcepts.datapipeline.core.DataEndpoint
com.northconcepts.datapipeline.core.DataReader
com.northconcepts.datapipeline.file.FileReader
Obtains records from a binary stream previously written using a
FileWriter.-
Nested Class Summary
Nested classes/interfaces inherited from class com.northconcepts.datapipeline.core.DataEndpoint
DataEndpoint.State -
Field Summary
Fields inherited from class com.northconcepts.datapipeline.core.DataReader
fieldLineage, recordLineageFields inherited from class com.northconcepts.datapipeline.core.DataEndpoint
lastRecord, PRODUCT, PRODUCT_VERSION, VENDOR, XML_INPUT_FACTORY_KEYFields inherited from class com.northconcepts.datapipeline.core.Endpoint
BUFFER_SIZE, captureElapsedTime, DEFAULT_READ_BUFFER_SIZEFields inherited from class com.northconcepts.datapipeline.core.DataObject
id, log, name, TIMESTAMP_FORMAT -
Constructor Summary
ConstructorsConstructorDescriptionFileReader(DataInput in) Creates a reader for uncompressed records read directly from the given input.FileReader(File file) Creates a reader for an uncompressed file, such as one written byFileWriter(File).FileReader(File file, boolean compressed) FileReader(InputStream inputStream, boolean compressed) -
Method Summary
Modifier and TypeMethodDescriptionaddExceptionProperties(DataException exception) Adds this endpoint's current state to aDataException.voidclose()Indicates that this endpoint has finished reading or writing.booleanIndicates if the underlying input stream should be closed when this stream closes (defaults to true).booleanDeprecated.booleanIndicates if the data is compressed and should be decompressed as it is being read.static RecordReads one record from the given input intorecordand returns it, without closing the input.protected RecordreadImpl()Overridden by subclasses to read the next record from thisDataReader.setAutoCloseReader(boolean autoCloseReader) Indicates if the underlying input stream should be closed when this stream closes (defaults to true).setAutoCloseWriter(boolean autoCloseWriter) Deprecated.usesetAutoCloseReader(boolean)instead.Methods inherited from class com.northconcepts.datapipeline.core.DataReader
addLineage, available, getBufferSize, getNestedEndpoint, getNestedReader, getReader, getRootEndpoint, getRootReader, isExhausted, isLineageSupported, isSaveLineage, peek, pop, push, read, setSaveLineage, skipMethods inherited from class com.northconcepts.datapipeline.core.DataEndpoint
decrementRecordCount, enableJmx, getLastRecord, getRecordCount, getRecordCountAsBigInteger, getRecordCountAsString, incrementRecordCount, isRecordCountBigInteger, open, resetRecordCount, toStringMethods inherited from class com.northconcepts.datapipeline.core.Endpoint
addElapsedtime, assertClosed, assertNotOpened, assertOpened, finalize, getClosedOn, getDescription, getElapsedTime, getElapsedTimeAsString, getOpenedOn, getOpenElapsedTime, getOpenElapsedTimeAsString, getSelfTime, getSelfTimeAsString, getState, isCaptureElapsedTime, isClosed, isOpen, setCaptureElapsedTime, setDescription
-
Constructor Details
-
FileReader
- Parameters:
file- the file to read.compressed- Indicates if the data is compressed and should be decompressed as it is being read.
-
FileReader
- Parameters:
compressed- Indicates if the data is compressed and should be decompressed as it is being read.
-
FileReader
Creates a reader for an uncompressed file, such as one written byFileWriter(File). -
FileReader
Creates a reader for uncompressed records read directly from the given input.
-
-
Method Details
-
read
Reads one record from the given input intorecordand returns it, without closing the input. -
addExceptionProperties
Description copied from class:EndpointAdds this endpoint's current state to aDataException. Since this method is called whenever an exception is thrown, subclasses should override it to add their specific information.- Overrides:
addExceptionPropertiesin classDataReader
-
isAutoCloseReader
public boolean isAutoCloseReader()Indicates if the underlying input stream should be closed when this stream closes (defaults to true). -
setAutoCloseReader
Indicates if the underlying input stream should be closed when this stream closes (defaults to true). -
isAutoCloseWriter
Deprecated.useisAutoCloseReader()instead. Indicates if the underlying input stream should be closed when this stream closes (defaults to true). -
setAutoCloseWriter
Deprecated.usesetAutoCloseReader(boolean)instead. Indicates if the underlying input stream should be closed when this stream closes (defaults to true). -
isCompressed
public boolean isCompressed()Indicates if the data is compressed and should be decompressed as it is being read. -
close
public void close()Description copied from class:DataEndpointIndicates that this endpoint has finished reading or writing.- Overrides:
closein classDataEndpoint
-
readImpl
Description copied from class:DataReaderOverridden by subclasses to read the next record from thisDataReader. The default implementation ofDataReader.read()now insures that this method will not be called again after it returns anull.If no record is available,
nullwill be returned.Contract for subclasses (see also
docs/authoring/DataReader.md):- Return
nullexactly once to signal end-of-stream. - Do not call this method directly —
DataReader.read()is the template method that wraps exceptions, increments the record count, and tracks lineage. - Do not call
DataEndpoint.incrementRecordCount()here;DataReader.read()already does. - Throw raw exceptions;
DataReader.read()wraps them viaexception(throwable).
- Specified by:
readImplin classDataReader- Throws:
Throwable
- Return
-
isAutoCloseReader()instead.