Hyperic HQ Plugin API v. 4.4.0.2

org.hyperic.util.units
Class BinaryFormatter

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

public abstract class BinaryFormatter
extends java.lang.Object
implements Formatter


Constructor Summary
BinaryFormatter()
           
 
Method Summary
protected  FormattedNumber createFormattedValue(double value, int scale, java.text.NumberFormat fmt)
           
 FormattedNumber format(UnitNumber val, java.util.Locale locale, FormatSpecifics specifics)
          Format a number with the given locale.
 FormattedNumber[] formatSame(double[] vals, int unitType, int scale, java.util.Locale locale, FormatSpecifics specifics)
          Format a several values at once into the same format.
 java.math.BigDecimal getBaseValue(double value, int scale)
          Get the base value of a value, given its scale.
 java.math.BigDecimal getScaledValue(java.math.BigDecimal value, int targScale)
          Get a scaled version of a value.
protected abstract  java.lang.String getTagName()
           
 UnitNumber parse(java.lang.String val, java.util.Locale locale, ParseSpecifics specifics)
          Parse a string into a UnitNumber.
protected abstract  UnitNumber parseTag(double number, java.lang.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,
                              java.util.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,
                                    int unitType,
                                    int scale,
                                    java.util.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 java.lang.String getTagName()

createFormattedValue

protected FormattedNumber createFormattedValue(double value,
                                               int scale,
                                               java.text.NumberFormat fmt)

getBaseValue

public java.math.BigDecimal getBaseValue(double value,
                                         int 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 java.math.BigDecimal getScaledValue(java.math.BigDecimal value,
                                           int 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,
                                       java.lang.String tag,
                                       int tagIdx,
                                       ParseSpecifics specifics)
                                throws java.text.ParseException
Throws:
java.text.ParseException

parse

public UnitNumber parse(java.lang.String val,
                        java.util.Locale locale,
                        ParseSpecifics specifics)
                 throws java.text.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:
java.text.ParseException

Hyperic HQ Plugin API v. 4.4.0.2

Copyright © 2004-2006 Hyperic, Inc. support@hyperic.net, All Rights Reserved.