Class ParseBigDecimal

  • All Implemented Interfaces:
    CellProcessor, StringCellProcessor

    public class ParseBigDecimal
    extends CellProcessorAdaptor
    implements StringCellProcessor
    Convert a String to a BigDecimal. It uses the String constructor of BigDecimal (new BigDecimal("0.1")) as it yields predictable results (see BigDecimal).

    If the data uses a character other than "." as a decimal separator (Germany uses "," for example), then use the constructor that accepts a DecimalFormatSymbols object, as it will convert the character to a "." before creating the BigDecimal. Likewise if the data contains a grouping separator (Germany uses "." for example) then supplying a DecimalFormatSymbols object will allow grouping separators to be removed before parsing.

    Since:
    1.30
    Author:
    Kasper B. Graversen, James Bassett
    • Constructor Summary

      Constructors 
      Constructor Description
      ParseBigDecimal()
      Constructs a new ParseBigDecimal processor, which converts a String to a BigDecimal.
      ParseBigDecimal​(java.text.DecimalFormatSymbols symbols)
      Constructs a new ParseBigDecimal processor, which converts a String to a BigDecimal using the supplied DecimalFormatSymbols object to convert any decimal separator to a "." before creating the BigDecimal.
      ParseBigDecimal​(java.text.DecimalFormatSymbols symbols, CellProcessor next)
      Constructs a new ParseBigDecimal processor, which converts a String to a BigDecimal using the supplied DecimalFormatSymbols object to convert any decimal separator to a "." before creating the BigDecimal, then calls the next processor in the chain.
      ParseBigDecimal​(CellProcessor next)
      Constructs a new ParseBigDecimal processor, which converts a String to a BigDecimal then calls the next processor in the chain.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object execute​(java.lang.Object value, CsvContext context)
      This method is invoked by the framework when the processor needs to process data or check constraints.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ParseBigDecimal

        public ParseBigDecimal()
        Constructs a new ParseBigDecimal processor, which converts a String to a BigDecimal.
      • ParseBigDecimal

        public ParseBigDecimal​(java.text.DecimalFormatSymbols symbols)
        Constructs a new ParseBigDecimal processor, which converts a String to a BigDecimal using the supplied DecimalFormatSymbols object to convert any decimal separator to a "." before creating the BigDecimal.
        Parameters:
        symbols - the decimal format symbols, containing the decimal separator
        Throws:
        java.lang.NullPointerException - if symbols is null
      • ParseBigDecimal

        public ParseBigDecimal​(CellProcessor next)
        Constructs a new ParseBigDecimal processor, which converts a String to a BigDecimal then calls the next processor in the chain.
        Parameters:
        next - the next processor in the chain
        Throws:
        java.lang.NullPointerException - if next is null
      • ParseBigDecimal

        public ParseBigDecimal​(java.text.DecimalFormatSymbols symbols,
                               CellProcessor next)
        Constructs a new ParseBigDecimal processor, which converts a String to a BigDecimal using the supplied DecimalFormatSymbols object to convert any decimal separator to a "." before creating the BigDecimal, then calls the next processor in the chain.
        Parameters:
        symbols - the decimal format symbols, containing the decimal separator
        next - the next processor in the chain
        Throws:
        java.lang.NullPointerException - if symbols or next is null
    • Method Detail

      • execute

        public java.lang.Object execute​(java.lang.Object value,
                                        CsvContext context)
        This method is invoked by the framework when the processor needs to process data or check constraints.
        Specified by:
        execute in interface CellProcessor
        Parameters:
        value - the value to be processed
        context - the CSV context
        Returns:
        the result of cell processor execution
        Throws:
        SuperCsvCellProcessorException - if value is null, isn't a String, or can't be parsed as a BigDecimal