public class ProxyReader extends DataReader
DataReader,
possibly transforming them along the way. The only method that a subclass
should implement is interceptRecord(Record).DataEndpoint.StatefieldLineage, recordLineagelastRecord, PRODUCT, PRODUCT_VERSION, VENDOR, XML_INPUT_FACTORY_KEYBUFFER_SIZE, captureElapsedTime, DEFAULT_READ_BUFFER_SIZEid, log, name, TIMESTAMP_FORMAT| Constructor and Description |
|---|
ProxyReader(DataReader nestedDataReader) |
| Modifier and Type | Method and Description |
|---|---|
DataException |
addExceptionProperties(DataException exception)
Adds this endpoint's current state to a
DataException. |
int |
available()
Returns the number of records that can probably be read without blocking.
|
void |
close()
Indicates that this endpoint has finished reading or writing.
|
DataReader |
getNestedReader()
Returns the
DataReader held inside this one or null if there isn't one. |
protected Record |
interceptRecord(Record record) |
static ProxyReader |
map(DataReader reader,
BiFunction<ProxyReader,Record,Record> mapper) |
static ProxyReader |
map(DataReader reader,
Function<Record,Record> mapper) |
void |
open()
Makes this endpoint ready for reading or writing.
|
protected Record |
readImpl()
Overridden by subclasses to read the next record from this
DataReader. |
protected void |
setNestedDataReader(DataReader nestedDataReader)
Make sure to close old target and open the new one or call
#setTargetDataReader(DataReader, boolean) with true. |
protected void |
setNestedDataReader(DataReader nestedDataReader,
boolean manageLifecycle) |
addLineage, getBufferSize, getNestedEndpoint, getReader, getRootEndpoint, getRootReader, isExhausted, isLineageSupported, isSaveLineage, peek, pop, push, read, setSaveLineage, skipdecrementRecordCount, enableJmx, getLastRecord, getRecordCount, getRecordCountAsBigInteger, getRecordCountAsString, incrementRecordCount, isRecordCountBigInteger, resetRecordCount, toStringaddElapsedtime, assertClosed, assertNotOpened, assertOpened, finalize, getClosedOn, getDescription, getElapsedTime, getElapsedTimeAsString, getOpenedOn, getOpenElapsedTime, getOpenElapsedTimeAsString, getSelfTime, getSelfTimeAsString, getState, isCaptureElapsedTime, isClosed, isOpen, setCaptureElapsedTime, setDescriptionpublic ProxyReader(DataReader nestedDataReader)
public static ProxyReader map(DataReader reader, Function<Record,Record> mapper) throws Throwable
Throwablepublic static ProxyReader map(DataReader reader, BiFunction<ProxyReader,Record,Record> mapper) throws Throwable
Throwablepublic DataReader getNestedReader()
DataReaderDataReader held inside this one or null if there isn't one.getNestedReader in class DataReaderprotected void setNestedDataReader(DataReader nestedDataReader)
#setTargetDataReader(DataReader, boolean) with true.protected void setNestedDataReader(DataReader nestedDataReader, boolean manageLifecycle) throws DataException
DataExceptionpublic int available()
throws DataException
DataReaderavailable in class DataReaderDataExceptionpublic void open()
throws DataException
DataEndpointopen in class DataEndpointDataExceptionpublic void close()
throws DataException
DataEndpointclose in class DataEndpointDataExceptionprotected Record readImpl() throws Throwable
DataReaderDataReader. The default
implementation of DataReader.read() now insures that this method will not be called again after it returns
a null.
If no record is available, null will be returned.
readImpl in class DataReaderThrowablepublic DataException addExceptionProperties(DataException exception)
EndpointDataException. Since this method is called whenever an
exception is thrown, subclasses should override it to add their specific information.addExceptionProperties in class DataReaderCopyright (c) 2006-2025 North Concepts Inc. All Rights Reserved.