Class LogFormat

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public class LogFormat
    extends java.text.NumberFormat
    A number formatter for logarithmic values. This formatter does not support parsing.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.text.NumberFormat

        java.text.NumberFormat.Field
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private double base
      The log base value.
      private java.lang.String baseLabel
      The label for the log base (for example, "e").
      private double baseLog
      The natural logarithm of the base value.
      private java.text.NumberFormat formatter
      The number formatter for the exponent.
      private java.lang.String powerLabel
      The label for the power symbol.
      private boolean showBase
      A flag that controls whether or not the base is shown.
      • Fields inherited from class java.text.NumberFormat

        FRACTION_FIELD, INTEGER_FIELD
    • Constructor Summary

      Constructors 
      Constructor Description
      LogFormat()
      Creates a new instance using base 10.
      LogFormat​(double base, java.lang.String baseLabel, boolean showBase)
      Creates a new instance.
      LogFormat​(double base, java.lang.String baseLabel, java.lang.String powerLabel, boolean showBase)
      Creates a new instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private double calculateLog​(double value)
      Calculates the log of a given value.
      java.lang.Object clone()
      Returns a clone of this instance.
      boolean equals​(java.lang.Object obj)
      Tests this formatter for equality with an arbitrary object.
      java.lang.StringBuffer format​(double number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
      Returns a formatted representation of the specified number.
      java.lang.StringBuffer format​(long number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
      Formats the specified number as a hexadecimal string.
      java.text.NumberFormat getExponentFormat()
      Returns the number format used for the exponent.
      java.lang.Number parse​(java.lang.String source, java.text.ParsePosition parsePosition)
      Parsing is not implemented, so this method always returns null.
      void setExponentFormat​(java.text.NumberFormat format)
      Sets the number format used for the exponent.
      • Methods inherited from class java.text.NumberFormat

        format, format, format, getAvailableLocales, getCurrency, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getMaximumFractionDigits, getMaximumIntegerDigits, getMinimumFractionDigits, getMinimumIntegerDigits, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, getRoundingMode, hashCode, isGroupingUsed, isParseIntegerOnly, parse, parseObject, setCurrency, setGroupingUsed, setMaximumFractionDigits, setMaximumIntegerDigits, setMinimumFractionDigits, setMinimumIntegerDigits, setParseIntegerOnly, setRoundingMode
      • Methods inherited from class java.text.Format

        format, formatToCharacterIterator, parseObject
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • base

        private double base
        The log base value.
      • baseLog

        private double baseLog
        The natural logarithm of the base value.
      • baseLabel

        private java.lang.String baseLabel
        The label for the log base (for example, "e").
      • powerLabel

        private java.lang.String powerLabel
        The label for the power symbol.
      • showBase

        private boolean showBase
        A flag that controls whether or not the base is shown.
      • formatter

        private java.text.NumberFormat formatter
        The number formatter for the exponent.
    • Constructor Detail

      • LogFormat

        public LogFormat()
        Creates a new instance using base 10.
      • LogFormat

        public LogFormat​(double base,
                         java.lang.String baseLabel,
                         boolean showBase)
        Creates a new instance.
        Parameters:
        base - the base.
        baseLabel - the base label (null not permitted).
        showBase - a flag that controls whether or not the base value is shown.
      • LogFormat

        public LogFormat​(double base,
                         java.lang.String baseLabel,
                         java.lang.String powerLabel,
                         boolean showBase)
        Creates a new instance.
        Parameters:
        base - the base.
        baseLabel - the base label (null not permitted).
        powerLabel - the power label (null not permitted).
        showBase - a flag that controls whether or not the base value is shown.
    • Method Detail

      • getExponentFormat

        public java.text.NumberFormat getExponentFormat()
        Returns the number format used for the exponent.
        Returns:
        The number format (never null).
      • setExponentFormat

        public void setExponentFormat​(java.text.NumberFormat format)
        Sets the number format used for the exponent.
        Parameters:
        format - the formatter (null not permitted).
      • calculateLog

        private double calculateLog​(double value)
        Calculates the log of a given value.
        Parameters:
        value - the value.
        Returns:
        The log of the value.
      • format

        public java.lang.StringBuffer format​(double number,
                                             java.lang.StringBuffer toAppendTo,
                                             java.text.FieldPosition pos)
        Returns a formatted representation of the specified number.
        Specified by:
        format in class java.text.NumberFormat
        Parameters:
        number - the number.
        toAppendTo - the string buffer to append to.
        pos - the position.
        Returns:
        A string buffer containing the formatted value.
      • format

        public java.lang.StringBuffer format​(long number,
                                             java.lang.StringBuffer toAppendTo,
                                             java.text.FieldPosition pos)
        Formats the specified number as a hexadecimal string. The decimal fraction is ignored.
        Specified by:
        format in class java.text.NumberFormat
        Parameters:
        number - the number to format.
        toAppendTo - the buffer to append to (ignored here).
        pos - the field position (ignored here).
        Returns:
        The string buffer.
      • parse

        public java.lang.Number parse​(java.lang.String source,
                                      java.text.ParsePosition parsePosition)
        Parsing is not implemented, so this method always returns null.
        Specified by:
        parse in class java.text.NumberFormat
        Parameters:
        source - ignored.
        parsePosition - ignored.
        Returns:
        Always null.
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests this formatter for equality with an arbitrary object.
        Overrides:
        equals in class java.text.NumberFormat
        Parameters:
        obj - the object (null permitted).
        Returns:
        A boolean.
      • clone

        public java.lang.Object clone()
        Returns a clone of this instance.
        Overrides:
        clone in class java.text.NumberFormat
        Returns:
        A clone.