public class DataProcessingException extends TextParsingException
DataProcessingException
is an error thrown during the processing of a record successfully parsed.
This type of error usually indicates that the input text has been parsed correctly, but the subsequent
transformations applied over the input (generally via a RowProcessor
} failed.Modifier and Type | Field and Description |
---|---|
private int |
columnIndex |
private java.lang.String |
columnName |
private boolean |
fatal |
private boolean |
handled |
private java.lang.Object[] |
row |
private static long |
serialVersionUID |
private java.lang.Object |
value |
private java.util.Map<java.lang.String,java.lang.Object> |
values |
extractedIndexes
errorContentLength
Constructor and Description |
---|
DataProcessingException(java.lang.String message)
Creates a new exception with an error message only.
|
DataProcessingException(java.lang.String message,
int columnIndex)
Creates a new exception with an error message and the column that could not be processed.
|
DataProcessingException(java.lang.String message,
int columnIndex,
java.lang.Object[] row,
java.lang.Throwable cause)
Creates a new exception with an error message, the column that could not be processed
the row that could not be processed, and the error cause.
|
DataProcessingException(java.lang.String message,
java.lang.Object[] row)
Creates a new exception with an error message and the row that could not be processed.
|
DataProcessingException(java.lang.String message,
java.lang.Object[] row,
java.lang.Throwable cause)
Creates a new exception with an error message, the row that could not be processed, and the error cause.
|
DataProcessingException(java.lang.String message,
java.lang.Throwable cause)
Creates a new exception with an error message and error cause
|
Modifier and Type | Method and Description |
---|---|
int |
getColumnIndex()
Returns the index of the column from where the error occurred, if available.
|
java.lang.String |
getColumnName()
Returns the name of the column from where the error occurred, if available.
|
protected java.lang.String |
getDetails()
Subclasses must implement this method to return as much information as possible about the internal state of the parser/writer.
|
protected java.lang.String |
getErrorDescription()
Returns a generic description of the error.
|
private int |
getExtractedColumnIndex() |
java.lang.Object[] |
getRow()
Returns the record being processed when the error occurred, if available.
|
java.lang.Object |
getValue()
Returns the value being processed when the error occurred, if available.
|
(package private) boolean |
isFatal()
Returns a flag indicating whether this error is fatal and the process must stop as it is impossible to proceed.
|
boolean |
isHandled()
Returns a flag indicating this exception has been handled by a user-provided
ProcessorErrorHandler |
void |
markAsHandled(ProcessorErrorHandler handler)
Marks the error as handled so it doesn't trigger a
ProcessorErrorHandler again. |
void |
markAsNonFatal()
Marks the error as non fatal and the parsing process might proceed.
|
void |
setColumnIndex(int columnIndex)
Defines the column index being processed when the error occurred.
|
void |
setColumnName(java.lang.String columnName)
Defines the name of the column being processed when the error occurred.
|
void |
setRow(java.lang.Object[] row)
Updates the exception with the record being processed when the error occurred.
|
void |
setValue(java.lang.Object value)
Defines the value being processed when the error occurred.
|
void |
setValue(java.lang.String label,
java.lang.Object value)
Associates a label in the exception message (idenfied in curly braces) with a value being processed when the error occurred.
|
protected java.lang.String |
updateMessage(java.lang.String msg)
Allows subclasses to alter the exception message that should be displayed to end users.
|
getCharIndex, getHeaders, getLineIndex, getParsedContent, getRecordNumber, setContext
getMessage, printIfNotEmpty, restrictContent, restrictContent, restrictContent, restrictContent, restrictContent, setErrorContentLength
private static final long serialVersionUID
private java.lang.String columnName
private int columnIndex
private java.lang.Object[] row
private java.lang.Object value
private java.util.Map<java.lang.String,java.lang.Object> values
private boolean fatal
private boolean handled
public DataProcessingException(java.lang.String message)
message
- the error messagepublic DataProcessingException(java.lang.String message, java.lang.Throwable cause)
message
- the error messagecause
- the cause of the errorpublic DataProcessingException(java.lang.String message, java.lang.Object[] row)
message
- the error messagerow
- the row that could not be processed.public DataProcessingException(java.lang.String message, java.lang.Object[] row, java.lang.Throwable cause)
message
- the error messagerow
- the row that could not be processed.cause
- the cause of the errorpublic DataProcessingException(java.lang.String message, int columnIndex)
message
- the error messagecolumnIndex
- index of the column that could not be processed.public DataProcessingException(java.lang.String message, int columnIndex, java.lang.Object[] row, java.lang.Throwable cause)
message
- the error messagecolumnIndex
- index of the column that could not be processed.row
- the row that could not be processed.cause
- the cause of the errorprotected java.lang.String getErrorDescription()
AbstractException
AbstractException.getMessage()
to print out a general description of the error before a detailed message of the root cause.getErrorDescription
in class TextParsingException
protected java.lang.String getDetails()
AbstractException
AbstractException.printIfNotEmpty(String, String, Object)
to create a comma-separated list of relevant properties and their (non null) values.
The result of this method is used by the AbstractException.getMessage()
method to print out these details after the error message.getDetails
in class TextParsingException
public java.lang.String getColumnName()
public final int getColumnIndex()
getColumnIndex
in class TextParsingException
public final java.lang.Object[] getRow()
public final void setValue(java.lang.Object value)
value
- the value being processed when error occurred.public final void setValue(java.lang.String label, java.lang.Object value)
label
- a label in the exception message - any string enclosed by curly braces.value
- the value being processed when error occurred, that should be replaced by the label in the exception message.public final java.lang.Object getValue()
public final void setColumnIndex(int columnIndex)
columnIndex
- the column index being processed when error occurred.private int getExtractedColumnIndex()
public final void setColumnName(java.lang.String columnName)
columnName
- the name of the column being processed when error occurred.public final void setRow(java.lang.Object[] row)
row
- the record data processed when the error occurred.final boolean isFatal()
public final void markAsNonFatal()
public final void markAsHandled(ProcessorErrorHandler handler)
ProcessorErrorHandler
again.handler
- the ProcessorErrorHandler
used to handle this exception.public boolean isHandled()
ProcessorErrorHandler
true
if this exception has been handled to a user-provided ProcessorErrorHandler
,
otherwise false
protected final java.lang.String updateMessage(java.lang.String msg)
AbstractException
updateMessage
in class AbstractException
msg
- the original message