com.univocity.parsers.common
Class DataProcessingException

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by java.lang.RuntimeException
              extended by com.univocity.parsers.common.TextParsingException
                  extended by com.univocity.parsers.common.DataProcessingException
All Implemented Interfaces:
Serializable

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.

Author:
uniVocity Software Pty Ltd - parsers@univocity.com
See Also:
Serialized Form

Field Summary
protected  int errorContentLength
           
 
Fields inherited from class com.univocity.parsers.common.TextParsingException
extractedIndexes
 
Constructor Summary
DataProcessingException(String message)
          Creates a new exception with an error message only.
DataProcessingException(String message, int columnIndex)
          Creates a new exception with an error message and the column that could not be processed.
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.
DataProcessingException(String message, Object[] row)
          Creates a new exception with an error message and the row that could not be processed.
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.
DataProcessingException(String message, Throwable cause)
          Creates a new exception with an error message and error cause
 
Method Summary
 int getColumnIndex()
          Returns the index of the column from where the error occurred, if available.
 String getColumnName()
          Returns the name of the column from where the error occurred, if available.
protected  String getDetails()
          Subclasses must implement this method to return as much information as possible about the internal state of the parser/writer.
protected  String getErrorDescription()
          Returns a generic description of the error.
 String getMessage()
          Returns a detailed message describing the error, and the internal state of the parser/writer.
 Object[] getRow()
          Returns the record being processed when the error occurred, if available.
 Object getValue()
          Returns the value being processed when the error occurred, if available.
 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.
protected static String printIfNotEmpty(String previous, String description, Object o)
           
protected  String restrictContent(CharSequence content)
           
static String restrictContent(int errorContentLength, CharSequence content)
           
static Object[] restrictContent(int errorContentLength, Object[] content)
           
protected  String restrictContent(Object content)
           
protected  Object[] restrictContent(Object[] content)
           
 void setColumnIndex(int columnIndex)
          Defines the column index being processed when the error occurred.
 void setColumnName(String columnName)
          Defines the name of the column being processed when the error occurred.
 void setErrorContentLength(int errorContentLength)
           
 void setRow(Object[] row)
          Updates the exception with the record being processed when the error occurred.
 void setValue(Object value)
          Defines the value being processed when the error occurred.
 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.
protected  String updateMessage(String msg)
          Allows subclasses to alter the exception message that should be displayed to end users.
 
Methods inherited from class com.univocity.parsers.common.TextParsingException
getCharIndex, getHeaders, getLineIndex, getParsedContent, getRecordNumber, setContext
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

errorContentLength

protected int errorContentLength
Constructor Detail

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 Detail

getErrorDescription

protected String getErrorDescription()
Returns a generic description of the error. The result of this method is used by 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()
Subclasses must implement this method to return as much information as possible about the internal state of the parser/writer. Use 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 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.

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.

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

updateMessage

protected final String updateMessage(String msg)
Allows subclasses to alter the exception message that should be displayed to end users. By default the original message is kept unchanged.

Parameters:
msg - the original message
Returns:
the updated message.

getMessage

public final String getMessage()
Returns a detailed message describing the error, and the internal state of the parser/writer.

Overrides:
getMessage in class Throwable
Returns:
a detailed message describing the error

printIfNotEmpty

protected static String printIfNotEmpty(String previous,
                                        String description,
                                        Object o)

restrictContent

public static String restrictContent(int errorContentLength,
                                     CharSequence content)

restrictContent

public static Object[] restrictContent(int errorContentLength,
                                       Object[] content)

setErrorContentLength

public void setErrorContentLength(int errorContentLength)

restrictContent

protected String restrictContent(CharSequence content)

restrictContent

protected String restrictContent(Object content)

restrictContent

protected Object[] restrictContent(Object[] content)


Copyright © 2018 uniVocity Software Pty Ltd. All rights reserved.