Class SurfaceFormatter

All Implemented Interfaces:
Cloneable

public class SurfaceFormatter extends MeasureFormatter<Surface,SurfaceUnit>
Formats and parses surface value and unit.
  • Field Details

  • Constructor Details

    • SurfaceFormatter

      public SurfaceFormatter()
      Constructor.
    • SurfaceFormatter

      public SurfaceFormatter(Locale locale)
      Constructor with locale.
      Parameters:
      locale - locale.
      Throws:
      IllegalArgumentException - if locale is null.
    • SurfaceFormatter

      public SurfaceFormatter(SurfaceFormatter formatter)
      Copy constructor.
      Parameters:
      formatter - input instance to copy from.
      Throws:
      NullPointerException - if provided formatter is null.
  • Method Details

    • equals

      public boolean equals(Object obj)
      Determines if two distance formatters are equal by comparing all of its internal parameters.
      Overrides:
      equals in class MeasureFormatter<Surface,SurfaceUnit>
      Parameters:
      obj - another object to compare.
      Returns:
      true if provided object is assumed to be equal to this instance.
    • hashCode

      public int hashCode()
      Hash code generated for this instance. Hash codes can be internally used by some collections to coarsely compare objects. This implementation only calls parent implementation to avoid static analyzer warning.
      Overrides:
      hashCode in class MeasureFormatter<Surface,SurfaceUnit>
      Returns:
      hash code.
    • getUnitSystem

      public UnitSystem getUnitSystem(String source)
      Gets unit system for detected unit into provided string representation of a measurement.
      Specified by:
      getUnitSystem in class MeasureFormatter<Surface,SurfaceUnit>
      Parameters:
      source - a measurement string representation to be checked.
      Returns:
      a unit system (either metric or imperial) or null if unit cannot be determined.
    • parse

      public Surface parse(String source) throws ParseException, UnknownUnitException
      Parses provided string and tries to determine a surface value and unit.
      Specified by:
      parse in class MeasureFormatter<Surface,SurfaceUnit>
      Parameters:
      source - text to be parsed.
      Returns:
      a surface containing a value and unit.
      Throws:
      ParseException - if provided string cannot be parsed.
      UnknownUnitException - if unit cannot be determined.
    • findUnit

      public SurfaceUnit findUnit(String source)
      Attempts to determine a surface unit within a measurement string representation.
      Specified by:
      findUnit in class MeasureFormatter<Surface,SurfaceUnit>
      Parameters:
      source - a surface measurement string representation.
      Returns:
      a surface unit, or null if none can be determined.
    • formatAndConvert

      public String formatAndConvert(Number value, SurfaceUnit unit, UnitSystem system)
      Formats and converts provided surface value and unit using provided unit system. If provided value is too large for provided unit, this method will convert it to a more appropriate unit using provided unit system (either metric or imperial).
      Specified by:
      formatAndConvert in class MeasureFormatter<Surface,SurfaceUnit>
      Parameters:
      value - a surface value.
      unit - a surface unit.
      system - system unit to convert surface to.
      Returns:
      a string representation of surface value and unit.
    • formatAndConvertMetric

      public String formatAndConvertMetric(Number value, SurfaceUnit unit)
      Formats and converts provided surface value and unit using metric unit system. If provided surface value is too large for provided surface unit, this method will convert it to a more appropriate unit.
      Parameters:
      value - a surface value.
      unit - a surface unit.
      Returns:
      a string representation of surface value and unit using metric unit system.
    • formatAndConvertImperial

      public String formatAndConvertImperial(Number value, SurfaceUnit unit)
      Formats and converts provided surface value and unit using imperial unit system. If provided surface value is too large for provided surface unit, this method will convert it to a more appropriate unit.
      Parameters:
      value - a surface value.
      unit - a surface unit.
      Returns:
      a string representation of surface value and unit using imperial unit system.
    • getUnitSymbol

      public String getUnitSymbol(SurfaceUnit unit)
      Returns unit string representation.
      Specified by:
      getUnitSymbol in class MeasureFormatter<Surface,SurfaceUnit>
      Parameters:
      unit - a measure unit.
      Returns:
      its string representation.