Class FrequencyFormatter

All Implemented Interfaces:
Cloneable

public class FrequencyFormatter extends MeasureFormatter<Frequency,FrequencyUnit>
Formats and parses frequency value and unit.
  • Field Details

  • Constructor Details

    • FrequencyFormatter

      public FrequencyFormatter()
      Constructor.
    • FrequencyFormatter

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

      public FrequencyFormatter(FrequencyFormatter 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 frequency formatters are equal by comparing all of their internal parameters.
      Overrides:
      equals in class MeasureFormatter<Frequency,FrequencyUnit>
      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<Frequency,FrequencyUnit>
      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<Frequency,FrequencyUnit>
      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 Frequency parse(String source) throws ParseException, UnknownUnitException
      Parses provided string and tries to determine a frequency value and unit.
      Specified by:
      parse in class MeasureFormatter<Frequency,FrequencyUnit>
      Parameters:
      source - a string to be parsed.
      Returns:
      a frequency containing a value and unit.
      Throws:
      ParseException - if provided string cannot be parsed.
      UnknownUnitException - if unit cannot be determined.
    • findUnit

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

      public String formatAndConvert(Number value, FrequencyUnit unit, UnitSystem system)
      Formats and converts provided frequency 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. This implementation ignores unit system.
      Specified by:
      formatAndConvert in class MeasureFormatter<Frequency,FrequencyUnit>
      Parameters:
      value - a measurement value.
      unit - a measurement unit.
      system - system unit to convert measurement to (it is ignored).
      Returns:
      a string representation of frequency value and unit.
    • formatAndConvertMetric

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

      public String getUnitSymbol(FrequencyUnit unit)
      Returns unit string representation.
      Specified by:
      getUnitSymbol in class MeasureFormatter<Frequency,FrequencyUnit>
      Parameters:
      unit - a frequency unit.
      Returns:
      its string representation
    • getUnitSystem

      public UnitSystem getUnitSystem()
      Returns unit system this instance will use based on its assigned locale. Notice that if no locale was assigned, then the default system locale will be used.
      Overrides:
      getUnitSystem in class MeasureFormatter<Frequency,FrequencyUnit>
      Returns:
      unit system this instance will use.