Class MeasureUnitImpl

java.lang.Object
org.graalvm.shadowed.com.ibm.icu.impl.units.MeasureUnitImpl

public class MeasureUnitImpl extends Object
  • Constructor Details

    • MeasureUnitImpl

      public MeasureUnitImpl()
    • MeasureUnitImpl

      public MeasureUnitImpl(SingleUnitImpl singleUnit)
  • Method Details

    • forIdentifier

      public static MeasureUnitImpl forIdentifier(String identifier)
      Parse a unit identifier into a MeasureUnitImpl.
      Parameters:
      identifier - The unit identifier string.
      Returns:
      A newly parsed object.
      Throws:
      IllegalArgumentException - in case of incorrect/non-parsed identifier.
    • forCurrencyCode

      public static MeasureUnitImpl forCurrencyCode(String currencyCode)
      Used for currency units.
    • copy

      public MeasureUnitImpl copy()
    • copyAndSimplify

      public MeasureUnitImpl copyAndSimplify()
      Returns a simplified version of the unit. NOTE: the simplification happen when there are two units equals in their base unit and their prefixes. Example 1: "square-meter-per-meter" --> "meter" Example 2: "square-millimeter-per-meter" --> "square-millimeter-per-meter"
    • getSingleUnits

      public ArrayList<SingleUnitImpl> getSingleUnits()
      Returns the list of simple units.
    • takeReciprocal

      public void takeReciprocal()
      Mutates this MeasureUnitImpl to take the reciprocal.
    • extractIndividualUnitsWithIndices

      public ArrayList<MeasureUnitImpl.MeasureUnitImplWithIndex> extractIndividualUnitsWithIndices()
    • applyDimensionality

      public void applyDimensionality(int dimensionality)
      Applies dimensionality to all the internal single units. For example: square-meter-per-second, when we apply dimensionality -2, it will be square-second-per-p4-meter
    • appendSingleUnit

      public boolean appendSingleUnit(SingleUnitImpl singleUnit)
      Mutates this MeasureUnitImpl to append a single unit.
      Returns:
      true if a new item was added. If unit is the dimensionless unit, it is never added: the return value will always be false.
    • build

      public MeasureUnit build()
      Transform this MeasureUnitImpl into a MeasureUnit, simplifying if possible.

      NOTE: this function must be called from a thread-safe class

    • getSingleUnitImpl

      public SingleUnitImpl getSingleUnitImpl()
      Returns:
      SingleUnitImpl
      Throws:
      UnsupportedOperationException - if the object could not be converted to SingleUnitImpl.
    • getIdentifier

      public String getIdentifier()
      Returns the CLDR unit identifier and null if not computed.
    • getComplexity

      public MeasureUnit.Complexity getComplexity()
    • setComplexity

      public void setComplexity(MeasureUnit.Complexity complexity)
    • serialize

      public void serialize()
      Normalizes the MeasureUnitImpl and generates the identifier string in place.
    • toString

      public String toString()
      Overrides:
      toString in class Object