Class AbstractUnitFormat

  • All Implemented Interfaces:
    javax.measure.format.UnitFormat
    Direct Known Subclasses:
    EBNFUnitFormat, LocalUnitFormat, SimpleUnitFormat

    public abstract class AbstractUnitFormat
    extends Object
    implements javax.measure.format.UnitFormat

    This class provides the interface for formatting and parsing units.

    For all metric units, the 20 SI prefixes used to form decimal multiples and sub-multiples of SI units are recognized.
    As well as the 8 Binary prefixes.
    For example: AbstractUnit.parse("m°C").equals(MetricPrefix.MILLI(Units.CELSIUS)) AbstractUnit.parse("kW").equals(MetricPrefix.KILO(Units.WATT))

    Since:
    1.0
    Version:
    2.0, $Date: 2020-03-02 $
    Author:
    Jean-Marie Dautelle, Werner Keil
    • Method Summary

      Modifier and Type Method Description
      String format​(javax.measure.Unit<?> unit)
      Formats an object to produce a string.
      abstract Appendable format​(javax.measure.Unit<?> unit, Appendable appendable)
      Formats the specified unit.
      void label​(javax.measure.Unit<?> unit, String label)  
      protected abstract javax.measure.Unit<?> parse​(CharSequence csq, int index)
      Parses a portion of the specified CharSequence from the specified position to produce a unit.
      abstract javax.measure.Unit<?> parse​(CharSequence csq, ParsePosition cursor)
      Parses a portion of the specified CharSequence from the specified position to produce a unit.
      • Methods inherited from interface javax.measure.format.UnitFormat

        isLocaleSensitive, parse
    • Method Detail

      • format

        public abstract Appendable format​(javax.measure.Unit<?> unit,
                                          Appendable appendable)
                                   throws IOException
        Formats the specified unit.
        Specified by:
        format in interface javax.measure.format.UnitFormat
        Parameters:
        unit - the unit to format.
        appendable - the appendable destination.
        Returns:
        The appendable destination passed in as appendable, with formatted text appended.
        Throws:
        IOException - if an error occurs.
      • format

        public final String format​(javax.measure.Unit<?> unit)
        Formats an object to produce a string. This is equivalent to
        format(unit, new StringBuilder()).toString();
        Specified by:
        format in interface javax.measure.format.UnitFormat
        Parameters:
        obj - The object to format
        Returns:
        Formatted string.
        Throws:
        IllegalArgumentException - if the Format cannot format the given object
      • label

        public void label​(javax.measure.Unit<?> unit,
                          String label)
        Specified by:
        label in interface javax.measure.format.UnitFormat
      • parse

        public abstract javax.measure.Unit<?> parse​(CharSequence csq,
                                                    ParsePosition cursor)
                                             throws IllegalArgumentException
        Parses a portion of the specified CharSequence from the specified position to produce a unit. If there is no unit to parse AbstractUnit.ONE is returned.
        Specified by:
        parse in interface javax.measure.format.UnitFormat
        Parameters:
        csq - the CharSequence to parse.
        cursor - the cursor holding the current parsing index.
        Returns:
        the unit parsed from the specified character sub-sequence.
        Throws:
        IllegalArgumentException - if any problem occurs while parsing the specified character sequence (e.g. illegal syntax).
      • parse

        protected abstract javax.measure.Unit<?> parse​(CharSequence csq,
                                                       int index)
                                                throws IllegalArgumentException
        Parses a portion of the specified CharSequence from the specified position to produce a unit. If there is no unit to parse AbstractUnit.ONE is returned.
        Parameters:
        csq - the CharSequence to parse.
        index - the current parsing index.
        Returns:
        the unit parsed from the specified character sub-sequence.
        Throws:
        IllegalArgumentException - if any problem occurs while parsing the specified character sequence (e.g. illegal syntax).