java.lang.Object
io.github.tonywasher.joceanus.oceanus.decimal.OceanusDecimalParser

public class OceanusDecimalParser extends Object
Parsing methods for decimals in a particular locale.
Author:
Tony Washer
  • Field Details

    • ADJUST_PERCENT

      public static final int ADJUST_PERCENT
      PerCent adjustment.
      See Also:
    • ADJUST_PERMILLE

      public static final int ADJUST_PERMILLE
      PerMille adjustment.
      See Also:
  • Constructor Details

    • OceanusDecimalParser

      public OceanusDecimalParser()
      Constructor.
    • OceanusDecimalParser

      public OceanusDecimalParser(Locale pLocale)
      Constructor.
      Parameters:
      pLocale - the locale
  • Method Details

    • setStrictDecimals

      public void setStrictDecimals(boolean bStrictDecimals)
      Should we parse to strict decimals.
      Parameters:
      bStrictDecimals - true/false
    • setLocale

      public final void setLocale(Locale pLocale)
      Set the locale.
      Parameters:
      pLocale - the locale
    • getDefaultCurrency

      public final Currency getDefaultCurrency()
      Obtain the default currency.
      Returns:
      the default currency
    • parseDecimalValue

      protected static void parseDecimalValue(String pValue, OceanusDecimal pResult)
      Parse a string into a decimal.
      Parameters:
      pValue - The value to parse.
      pResult - the decimal to hold the result in
      Throws:
      IllegalArgumentException - on invalid decimal
    • parseDecimalValue

      protected static void parseDecimalValue(String pValue, OceanusDecimalLocale pLocale, boolean useMoneyDecimal, OceanusDecimal pResult)
      Parse a string into a decimal.
      Parameters:
      pValue - The value to parse.
      pLocale - the Decimal locale
      useMoneyDecimal - use money decimal rather than standard decimal true/false
      pResult - the decimal to hold the result in
      Throws:
      IllegalArgumentException - on invalid decimal
    • parseLongValue

      protected static long parseLongValue(String pValue, OceanusDecimalLocale pLocale)
      Parse a long value.
      Parameters:
      pValue - The value to parse.
      pLocale - the Decimal locale
      Returns:
      the long value
      Throws:
      IllegalArgumentException - on invalid decimal
    • zeroMoney

      public OceanusMoney zeroMoney()
      Obtain a new zero money value for the default currency.
      Returns:
      the new money
    • zeroMoney

      public OceanusMoney zeroMoney(Currency pCurrency)
      Obtain a new zero money value for the currency.
      Parameters:
      pCurrency - the currency
      Returns:
      the new money
    • parseMoneyValue

      public OceanusMoney parseMoneyValue(String pValue)
      Parse Money value.
      Parameters:
      pValue - the string value to parse.
      Returns:
      the parsed money
      Throws:
      IllegalArgumentException - on invalid money value
    • parseMoneyValue

      public OceanusMoney parseMoneyValue(String pValue, Currency pDeemedCurrency)
      Parse Money value.
      Parameters:
      pValue - the string value to parse.
      pDeemedCurrency - the assumed currency if no currency identifier
      Returns:
      the parsed money
      Throws:
      IllegalArgumentException - on invalid money value
    • zeroPrice

      public OceanusPrice zeroPrice()
      Obtain a new zero price value for the default currency.
      Returns:
      the new price
    • zeroPrice

      public OceanusPrice zeroPrice(Currency pCurrency)
      Obtain a new zero price value for the currency.
      Parameters:
      pCurrency - the currency
      Returns:
      the new price
    • parsePriceValue

      public OceanusPrice parsePriceValue(String pValue)
      Parse Price value.
      Parameters:
      pValue - the string value to parse.
      Returns:
      the parsed price
      Throws:
      IllegalArgumentException - on invalid price value
    • parsePriceValue

      public OceanusPrice parsePriceValue(String pValue, Currency pDeemedCurrency)
      Parse Price value.
      Parameters:
      pValue - the string value to parse.
      pDeemedCurrency - the assumed currency if no currency identifier
      Returns:
      the parsed price
      Throws:
      IllegalArgumentException - on invalid price value
    • parseRateValue

      public OceanusRate parseRateValue(String pValue)
      Parse Rate value.
      Parameters:
      pValue - the string value to parse.
      Returns:
      the parsed rate
      Throws:
      IllegalArgumentException - on invalid rate value
    • parseUnitsValue

      public OceanusUnits parseUnitsValue(String pValue)
      Parse Units value.
      Parameters:
      pValue - the string value to parse.
      Returns:
      the parsed units
      Throws:
      IllegalArgumentException - on invalid units value
    • parseRatioValue

      public OceanusRatio parseRatioValue(String pValue)
      Parse Ratio value.
      Parameters:
      pValue - the string value to parse.
      Returns:
      the parsed ratio
      Throws:
      IllegalArgumentException - on invalid ratio value
    • parseDecimalValue

      public OceanusDecimal parseDecimalValue(String pValue, int pScale)
      Parse Decimal value.
      Parameters:
      pValue - the string value to parse.
      pScale - the scale of the resulting decimal
      Returns:
      the parsed decimal
      Throws:
      IllegalArgumentException - on invalid decimal value
    • parseLongValue

      public Long parseLongValue(String pValue)
      Parse Long value.
      Parameters:
      pValue - the string value to parse.
      Returns:
      the parsed value
      Throws:
      IllegalArgumentException - on invalid value
    • parseIntegerValue

      public Integer parseIntegerValue(String pValue)
      Parse Integer value.
      Parameters:
      pValue - the string value to parse.
      Returns:
      the parsed value
      Throws:
      IllegalArgumentException - on invalid value
    • parseShortValue

      public Short parseShortValue(String pValue)
      Parse Short value.
      Parameters:
      pValue - the string value to parse.
      Returns:
      the parsed value
      Throws:
      IllegalArgumentException - on invalid value
    • createMoneyFromDouble

      public OceanusMoney createMoneyFromDouble(Double pValue)
      create Money from double.
      Parameters:
      pValue - the double value.
      Returns:
      the parsed money
      Throws:
      IllegalArgumentException - on invalid money value
    • createMoneyFromDouble

      public OceanusMoney createMoneyFromDouble(Double pValue, String pCurrCode)
      create Money from double.
      Parameters:
      pValue - the double value.
      pCurrCode - the currency code
      Returns:
      the parsed money
      Throws:
      IllegalArgumentException - on invalid money value
    • createPriceFromDouble

      public OceanusPrice createPriceFromDouble(Double pValue)
      create Price from double.
      Parameters:
      pValue - the double value.
      Returns:
      the parsed price
      Throws:
      IllegalArgumentException - on invalid price value
    • createPriceFromDouble

      public OceanusPrice createPriceFromDouble(Double pValue, String pCurrCode)
      create Price from double.
      Parameters:
      pValue - the double value.
      pCurrCode - the currency code
      Returns:
      the parsed price
      Throws:
      IllegalArgumentException - on invalid price value
    • createRateFromDouble

      public OceanusRate createRateFromDouble(Double pValue)
      create Rate from double.
      Parameters:
      pValue - the double value.
      Returns:
      the parsed rate
      Throws:
      IllegalArgumentException - on invalid rate value
    • createUnitsFromDouble

      public OceanusUnits createUnitsFromDouble(Double pValue)
      create Units from double.
      Parameters:
      pValue - the double value.
      Returns:
      the parsed units
      Throws:
      IllegalArgumentException - on invalid units value
    • createRatioFromDouble

      public OceanusRatio createRatioFromDouble(Double pValue)
      create Ratio from double.
      Parameters:
      pValue - the double value.
      Returns:
      the parsed ratio
      Throws:
      IllegalArgumentException - on invalid ratio value