org.rhq.core.clientapi.util.units
Class BinaryFormatter

java.lang.Object
  extended by org.rhq.core.clientapi.util.units.BinaryFormatter
All Implemented Interfaces:
Formatter
Direct Known Subclasses:
BitRateFormatter, BytesFormatter

public abstract class BinaryFormatter
extends Object
implements Formatter


Constructor Summary
BinaryFormatter()
           
 
Method Summary
protected  FormattedNumber createFormattedValue(double value, ScaleConstants scale, NumberFormat fmt)
           
 FormattedNumber format(UnitNumber val, Locale locale, FormatSpecifics specifics)
          Format a number with the given locale.
 FormattedNumber[] formatSame(double[] vals, UnitsConstants unitType, ScaleConstants scale, Locale locale, FormatSpecifics specifics)
          Format a several values at once into the same format.
 BigDecimal getBaseValue(double value, ScaleConstants scale)
          Get the base value of a value, given its scale.
 BigDecimal getScaledValue(BigDecimal value, ScaleConstants targScale)
          Get a scaled version of a value.
protected abstract  String getTagName()
           
 UnitNumber parse(String val, Locale locale, ParseSpecifics specifics)
          Parse a string into a UnitNumber.
protected abstract  UnitNumber parseTag(double number, String tag, int tagIdx, ParseSpecifics specifics)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BinaryFormatter

public BinaryFormatter()
Method Detail

format

public FormattedNumber format(UnitNumber val,
                              Locale locale,
                              FormatSpecifics specifics)
Description copied from interface: Formatter
Format a number with the given locale.

Specified by:
format in interface Formatter
Parameters:
val - Value to format
locale - Locale that the resultant format should be in
specifics - Optional format to give specific hints to the formatter about how the result should look.

formatSame

public FormattedNumber[] formatSame(double[] vals,
                                    UnitsConstants unitType,
                                    ScaleConstants scale,
                                    Locale locale,
                                    FormatSpecifics specifics)
Description copied from interface: Formatter
Format a several values at once into the same format. I.e. no matter the discrepency of range, they all contain the same units (megabytes, etc.)

Specified by:
formatSame in interface Formatter
Parameters:
vals - Values to format
unitType - One of UnitsConstants.UNIT_*
scale - One of UnitsConstants.SCALE_*
locale - Locale that the resultant format should be in
specifics - Optional format to give specific hints to the formatter about how the result should look.

getTagName

protected abstract String getTagName()

createFormattedValue

protected FormattedNumber createFormattedValue(double value,
                                               ScaleConstants scale,
                                               NumberFormat fmt)

getBaseValue

public BigDecimal getBaseValue(double value,
                               ScaleConstants scale)
Description copied from interface: Formatter
Get the base value of a value, given its scale. E.x.: getBaseValue(1, SCALE_KILO) -> 1024 (bytes being the base unit)

Specified by:
getBaseValue in interface Formatter
Parameters:
value - Value to get the base of
scale - Scale of the value -- must be valid for the formatter unit type

getScaledValue

public BigDecimal getScaledValue(BigDecimal value,
                                 ScaleConstants targScale)
Description copied from interface: Formatter
Get a scaled version of a value. The value in its base format, and the target scale are passed. The return value will be a number, scaled to the target. E.x.: getScaledValue(1024, SCALE_NONE) -> 1024 getScaledValue(1024, SCALE_KILO) -> 1 (1 kilobyte)

Specified by:
getScaledValue in interface Formatter
Parameters:
value - Value to scale
targScale - Target scale -- must be valid for the formatter unit type

parseTag

protected abstract UnitNumber parseTag(double number,
                                       String tag,
                                       int tagIdx,
                                       ParseSpecifics specifics)
                                throws ParseException
Throws:
ParseException

parse

public UnitNumber parse(String val,
                        Locale locale,
                        ParseSpecifics specifics)
                 throws ParseException
Description copied from interface: Formatter
Parse a string into a UnitNumber. E.x. parse("34 MB") -> UnitNumber(34, UNIT_BYTES, SCALE_MEGA)

Specified by:
parse in interface Formatter
Parameters:
val - Value to parse
locale - Locale to parse with
specifics - An optional argument which gives the parser more information about parsing
Returns:
the number representing the parsed value
Throws:
ParseException - if the value could not be parsed


Copyright © 2008-2009 Red Hat, Inc.. All Rights Reserved.