Hyperic HQ Plugin API v. 4.4.0.2

org.hyperic.util.units
Class SimpleFormatter

java.lang.Object
  extended by org.hyperic.util.units.SimpleFormatter
All Implemented Interfaces:
Formatter
Direct Known Subclasses:
CurrencyFormatter, NoFormatter, PercentageFormatter

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


Constructor Summary
SimpleFormatter()
           
 
Method Summary
 FormattedNumber format(UnitNumber val, java.util.Locale locale, FormatSpecifics specifics)
          Format a number with the given locale.
protected abstract  FormattedNumber formatNumber(double rawValue, java.text.NumberFormat fmt)
           
 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.
protected  java.text.NumberFormat getNumberFormat(java.util.Locale locale)
           
 java.math.BigDecimal getScaledValue(java.math.BigDecimal value, int targScale)
          Get a scaled version of a value.
protected abstract  int getUnitScale()
           
protected abstract  int getUnitType()
           
 UnitNumber parse(java.lang.String val, java.util.Locale locale, ParseSpecifics specifics)
          Parse a string into a UnitNumber.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleFormatter

public SimpleFormatter()
Method Detail

getUnitType

protected abstract int getUnitType()

getUnitScale

protected abstract int getUnitScale()

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.

formatNumber

protected abstract FormattedNumber formatNumber(double rawValue,
                                                java.text.NumberFormat fmt)

getNumberFormat

protected java.text.NumberFormat getNumberFormat(java.util.Locale locale)

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

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.