Class DataProcessingException

All Implemented Interfaces:
Serializable
Direct Known Subclasses:
DataValidationException

public class DataProcessingException extends TextParsingException
A 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.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • columnName

      private String columnName
    • columnIndex

      private int columnIndex
    • row

      private Object[] row
    • value

      private Object value
    • values

      private Map<String,Object> values
    • fatal

      private boolean fatal
    • handled

      private boolean handled
    • details

      private String details
  • Constructor Details

    • DataProcessingException

      public DataProcessingException(String message)
      Creates a new exception with an error message only.
      Parameters:
      message - the error message
    • DataProcessingException

      public DataProcessingException(String message, Throwable cause)
      Creates a new exception with an error message and error cause
      Parameters:
      message - the error message
      cause - the cause of the error
    • DataProcessingException

      public DataProcessingException(String message, Object[] row)
      Creates a new exception with an error message and the row that could not be processed.
      Parameters:
      message - the error message
      row - the row that could not be processed.
    • DataProcessingException

      public DataProcessingException(String message, Object[] row, Throwable cause)
      Creates a new exception with an error message, the row that could not be processed, and the error cause.
      Parameters:
      message - the error message
      row - the row that could not be processed.
      cause - the cause of the error
    • DataProcessingException

      public DataProcessingException(String message, int columnIndex)
      Creates a new exception with an error message and the column that could not be processed.
      Parameters:
      message - the error message
      columnIndex - index of the column that could not be processed.
    • DataProcessingException

      public DataProcessingException(String message, int columnIndex, Object[] row, 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.
      Parameters:
      message - the error message
      columnIndex - index of the column that could not be processed.
      row - the row that could not be processed.
      cause - the cause of the error
  • Method Details

    • getErrorDescription

      protected String getErrorDescription()
      Description copied from class: AbstractException
      Returns a generic description of the error. The result of this method is used by AbstractException.getMessage() to print out a general description of the error before a detailed message of the root cause.
      Overrides:
      getErrorDescription in class TextParsingException
      Returns:
      a generic description of the error.
    • getDetails

      protected String getDetails()
      Description copied from class: AbstractException
      Subclasses must implement this method to return as much information as possible about the internal state of the parser/writer. Use 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.
      Overrides:
      getDetails in class TextParsingException
      Returns:
      a String describing the internal state of the parser/writer.
    • getColumnName

      public String getColumnName()
      Returns the name of the column from where the error occurred, if available.
      Returns:
      the name of the column from where the error occurred.
    • getColumnIndex

      public final int getColumnIndex()
      Returns the index of the column from where the error occurred, if available.
      Overrides:
      getColumnIndex in class TextParsingException
      Returns:
      the index of the column from where the error occurred.
    • getRow

      public final Object[] getRow()
      Returns the record being processed when the error occurred, if available.
      Returns:
      the record being processed when error occurred, if available.
    • setValue

      public final void setValue(Object value)
      Defines the value being processed when the error occurred.
      Parameters:
      value - the value being processed when error occurred.
    • setValue

      public final void setValue(String label, Object value)
      Associates a label in the exception message (idenfied in curly braces) with a value being processed when the error occurred. Used for formatting the exception message
      Parameters:
      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.
    • getValue

      public final Object getValue()
      Returns the value being processed when the error occurred, if available.
      Returns:
      the value being processed when the error occurred, if available.
    • setColumnIndex

      public final void setColumnIndex(int columnIndex)
      Defines the column index being processed when the error occurred.
      Parameters:
      columnIndex - the column index being processed when error occurred.
    • getExtractedColumnIndex

      private int getExtractedColumnIndex()
    • setColumnName

      public final void setColumnName(String columnName)
      Defines the name of the column being processed when the error occurred.
      Parameters:
      columnName - the name of the column being processed when error occurred.
    • setRow

      public final void setRow(Object[] row)
      Updates the exception with the record being processed when the error occurred.
      Parameters:
      row - the record data processed when the error occurred.
    • isFatal

      final boolean isFatal()
      Returns a flag indicating whether this error is fatal and the process must stop as it is impossible to proceed.
      Returns:
      a flag indicating whether this error is fatal and the process must stop as it is impossible to proceed.
    • markAsNonFatal

      public final void markAsNonFatal()
      Marks the error as non fatal and the parsing process might proceed.
    • markAsHandled

      public final void markAsHandled(ProcessorErrorHandler handler)
      Marks the error as handled so it doesn't trigger a ProcessorErrorHandler again.
      Parameters:
      handler - the ProcessorErrorHandler used to handle this exception.
    • isHandled

      public boolean isHandled()
      Returns a flag indicating this exception has been handled by a user-provided ProcessorErrorHandler
      Returns:
      true if this exception has been handled to a user-provided ProcessorErrorHandler, otherwise false
    • setDetails

      public void setDetails(String details)
    • updateMessage

      protected final String updateMessage(String msg)
      Description copied from class: AbstractException
      Allows subclasses to alter the exception message that should be displayed to end users. By default the original message is kept unchanged.
      Overrides:
      updateMessage in class AbstractException
      Parameters:
      msg - the original message
      Returns:
      the updated message.