public abstract class RetryableErrorHandler<T extends Context> extends java.lang.Object implements ProcessorErrorHandler<T>
ProcessorErrorHandler implementation that gives the user a chance to provide a default value for
columns that could not be processed due to an exception, through the method setDefaultValue(Object).
This must be called from within the implementation of the
ProcessorErrorHandler.handleError(DataProcessingException, Object[], Context) method, and will prevent the record from being
discarded. The value provided by the user will be assigned to the problematic input row, at the column defined by
DataProcessingException.getColumnIndex().
NOTE:If the column index is < 0, then the record can't be
salvaged and it will be discarded regardless of the user calling setDefaultValue(Object) or not.| Modifier and Type | Field and Description |
|---|---|
private java.lang.Object |
defaultValue |
private boolean |
skipRecord |
| Constructor and Description |
|---|
RetryableErrorHandler() |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
getDefaultValue()
Returns the default value to be assigned to the problematic column that raised the current
DataProcessingException. |
boolean |
isRecordSkipped()
Flag indicating whether the current record will be skipped.
|
void |
keepRecord()
Ignores the
DataProcessingException and instructs the parser/writer to continue processing the record. |
(package private) void |
prepareToRun()
Prepares this error handler to be executed.
|
void |
setDefaultValue(java.lang.Object defaultValue)
Assigns a default value to be assigned to the problematic column that raised the current
DataProcessingException. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waithandleErrorprivate java.lang.Object defaultValue
private boolean skipRecord
public final void setDefaultValue(java.lang.Object defaultValue)
DataProcessingException.
The current column is available from the exception itself, i.e. DataProcessingException.getColumnIndex().
NOTE:If the column index is < 0, then the record can't be
salvaged and it will be discarded regardless of the user calling setDefaultValue(Object) or not.defaultValue - the value to be used for the current column. It will be discarded after handling the current
DataProcessingException.public final void keepRecord()
DataProcessingException and instructs the parser/writer to continue processing the record.public final java.lang.Object getDefaultValue()
DataProcessingException.
The current column is available from the exception itself, i.e. DataProcessingException.getColumnIndex().
NOTE:If the column index is < 0, then the record can't be
salvaged and it will be discarded regardless of the user calling setDefaultValue(Object) or not.DataProcessingException.final void prepareToRun()
ProcessorErrorHandler.handleError(DataProcessingException, Object[], Context)public final boolean isRecordSkipped()
true by default unless
the user invokes setDefaultValue(Object) from within the ProcessorErrorHandler.handleError(DataProcessingException, Object[], Context)
method implementation, in which case the current record will continue to be processed.true if the record originating the current DataProcessingException should be skipped,
otherwise false