Class StructuredDecimal

java.lang.Object
net.visma.autopay.http.structured.StructuredItem
net.visma.autopay.http.structured.StructuredDecimal
All Implemented Interfaces:
StructuredField

public final class StructuredDecimal extends StructuredItem
Class representing Structured Decimals. Also used as "bare" Decimal in Structured parameters.
See Also:
  • Method Details

    • of

      public static StructuredDecimal of(BigDecimal value)
      Creates Structured Decimal of given value, without parameters.

      Stored value is modified version of provided value:

      • Scale is set to 1 (one "fractional" zero) if there is no fractional part
      • Extra trailing "fractional" zeros are removed
      • If the "fractional" part is longer than 3 digits it is preserved in the stored value and rounded when serializing
      Parameters:
      value - Item value
      Returns:
      Created Structured Decimal
      Throws:
      IllegalArgumentException - When provided value is outside the allowed range, which is ±999,999,999,999.999
    • of

      public static StructuredDecimal of(double value)
      Creates Structured Decimal of given value, without parameters.
      Parameters:
      value - Item value
      Returns:
      Created Structured Decimal
      Throws:
      IllegalArgumentException - When provided value is outside the allowed range
      See Also:
    • of

      public static StructuredDecimal of(String value)
      Creates Structured Decimal of given value, without parameters.
      Parameters:
      value - Item value
      Returns:
      Created Structured Decimal
      Throws:
      IllegalArgumentException - When provided value is outside the allowed range
      See Also:
    • withParams

      public static StructuredDecimal withParams(BigDecimal value, Map<String,?> parameters)
      Creates Structured Decimal of given value and parameters
      Parameters:
      value - Item value
      parameters - Parameter map. For details, check StructuredParameters.of(Map).
      Returns:
      Created Structured Decimal
      Throws:
      IllegalArgumentException - When provided value is outside the allowed range
      See Also:
    • withParams

      public static StructuredDecimal withParams(BigDecimal value, StructuredParameters parameters)
      Creates Structured Decimal of given value and parameters
      Parameters:
      value - Item value
      parameters - Structured Parameters
      Returns:
      Created Structured Decimal
      Throws:
      IllegalArgumentException - When provided value is outside the allowed range
      See Also:
    • bigDecimalValue

      public BigDecimal bigDecimalValue()
      Returns BigDecimal value of this Structured Decimal
      Returns:
      BigDecimal value represented by this Structured Decimal
    • doubleValue

      public double doubleValue()
      Returns Double value of this Structured Decimal
      Returns:
      Double value represented by this Structured Decimal
    • parse

      public static StructuredDecimal parse(String httpHeader) throws StructuredException
      Parses given string for Structured Decimal, according to the specification
      Parameters:
      httpHeader - String to parse, e.g. HTTP header
      Returns:
      Parsed Structured Decimal
      Throws:
      StructuredException - Thrown in case of malformatted string or wrong item type
      See Also:
    • equals

      public boolean equals(Object o)
      Description copied from class: StructuredItem
      Compares the specified object with this Structured Item for equality. Returns true if the given object is of the same class as this Item, it has the same value and properties.
      Overrides:
      equals in class StructuredItem
      Parameters:
      o - Object to be compared with this Structured Item
      Returns:
      True is specified object is equal to this Structured Item
    • hashCode

      public int hashCode()
      Description copied from class: StructuredItem
      Returns hash code for this Structured Item. The hash code is a combination of hash codes of Item parameters and Item value.
      Overrides:
      hashCode in class StructuredItem
      Returns:
      The hash code for this Structured Item