com.univocity.parsers.conversions
Class FormattedBigDecimalConversion

java.lang.Object
  extended by com.univocity.parsers.conversions.NullConversion<String,T>
      extended by com.univocity.parsers.conversions.ObjectConversion<T>
          extended by com.univocity.parsers.conversions.NumericConversion<BigDecimal>
              extended by com.univocity.parsers.conversions.FormattedBigDecimalConversion
All Implemented Interfaces:
Conversion<String,BigDecimal>, FormattedConversion<DecimalFormat>

public class FormattedBigDecimalConversion
extends NumericConversion<BigDecimal>

Converts formatted Strings to instances of BigDecimal and vice versa.

This class supports multiple numeric formats. For example, you can define conversions from numbers represented by different Strings such as "1,000,000.00 and $5.00".

The reverse conversion from a BigDecimal to String (in revert(BigDecimal) will return a formatted String using the pattern provided in this class constructor

The numeric patterns must follow the pattern rules of DecimalFormat

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

Constructor Summary
FormattedBigDecimalConversion()
          Defines a conversion from String to BigDecimal using a sequence of acceptable numeric patterns.
FormattedBigDecimalConversion(BigDecimal valueIfStringIsNull, String valueIfObjectIsNull)
          Defines a conversion from String to BigDecimal using a sequence of acceptable numeric patterns.
FormattedBigDecimalConversion(BigDecimal valueIfStringIsNull, String valueIfObjectIsNull, String... numericFormats)
          Defines a conversion from String to BigDecimal using a sequence of acceptable numeric patterns.
FormattedBigDecimalConversion(DecimalFormat... numericFormatters)
          Defines a conversion from String toBigDecimal using a sequence of acceptable numeric patterns.
FormattedBigDecimalConversion(String... numericFormats)
          Defines a conversion from String to BigDecimal using a sequence of acceptable numeric patterns.
 
Method Summary
protected  void configureFormatter(DecimalFormat formatter)
          Configures the Decimal format instance created by the parent class to parse BigDecimals.
 
Methods inherited from class com.univocity.parsers.conversions.NumericConversion
addFormat, fromString, getFormatterObjects, getNumberType, revert, setNumberType
 
Methods inherited from class com.univocity.parsers.conversions.ObjectConversion
execute, fromInput, getValueIfObjectIsNull, getValueIfStringIsNull, setValueIfObjectIsNull, setValueIfStringIsNull, undo
 
Methods inherited from class com.univocity.parsers.conversions.NullConversion
getValueOnNullInput, getValueOnNullOutput, setValueOnNullInput, setValueOnNullOutput
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FormattedBigDecimalConversion

public FormattedBigDecimalConversion(BigDecimal valueIfStringIsNull,
                                     String valueIfObjectIsNull,
                                     String... numericFormats)
Defines a conversion from String to BigDecimal using a sequence of acceptable numeric patterns. This constructor assumes the output of a conversion should be null when input is null

Parameters:
valueIfStringIsNull - default BigDecimal to be returned when the input String is null. Used when ObjectConversion.execute(String) is invoked.
valueIfObjectIsNull - default String value to be returned when a BigDecimal input is null. Used when revert(BigDecimal) is invoked.
numericFormats - list of acceptable numeric patterns. The first pattern in this sequence will be used to convert a BigDecimal into a String in revert(BigDecimal).

FormattedBigDecimalConversion

public FormattedBigDecimalConversion(BigDecimal valueIfStringIsNull,
                                     String valueIfObjectIsNull)
Defines a conversion from String to BigDecimal using a sequence of acceptable numeric patterns. The patterns must be added to this conversion class through the NumericConversion.addFormat(String, String...) method.

Parameters:
valueIfStringIsNull - default BigDecimal to be returned when the input String is null. Used when ObjectConversion.execute(String) is invoked.
valueIfObjectIsNull - default String value to be returned when a BigDecimal input is null. Used when NumericConversion.revert(Number) is invoked.

FormattedBigDecimalConversion

public FormattedBigDecimalConversion(String... numericFormats)
Defines a conversion from String to BigDecimal using a sequence of acceptable numeric patterns. This constructor assumes the output of a conversion should be null when input is null

Parameters:
numericFormats - list of acceptable numeric patterns. The first pattern in this sequence will be used to convert a BigDecimal into a String in NumericConversion.revert(Number).

FormattedBigDecimalConversion

public FormattedBigDecimalConversion(DecimalFormat... numericFormatters)
Defines a conversion from String toBigDecimal using a sequence of acceptable numeric patterns. This constructor assumes the output of a conversion should be null when input is null

Parameters:
numericFormatters - list formatters of acceptable numeric patterns. The first formatter in this sequence will be used to convert a BigDecimal into a String in NumericConversion.revert(Number).

FormattedBigDecimalConversion

public FormattedBigDecimalConversion()
Defines a conversion from String to BigDecimal using a sequence of acceptable numeric patterns. The patterns must be added to this conversion class through the NumericConversion.addFormat(String, String...) method. This constructor assumes the output of a conversion should be null when input is null

Method Detail

configureFormatter

protected void configureFormatter(DecimalFormat formatter)
Configures the Decimal format instance created by the parent class to parse BigDecimals.

Specified by:
configureFormatter in class NumericConversion<BigDecimal>
Parameters:
formatter - a DecimalFormat instance initialized with one of the patterns provided in the constructor of this class.


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