/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Copyright (C) 2015 The Jalview Authors
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This file is part of Jalview.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
/**
* A class for formatting numbers that follows printf conventions.
private char fmt; // one of cdeEfgGiosxXos
+ private final String formatString;
+
/**
* Creates a new Format object.
*
* @param s
- * DOCUMENT ME!
+ * DOCUMENT ME!
*/
public Format(String s)
{
+ formatString = s;
width = 0;
precision = -1;
pre = "";
* more than one number
*
* @param s
- * the format string following printf conventions The string
- * has a prefix, a format code and a suffix. The prefix and
- * suffix become part of the formatted output. The format code
- * directs the formatting of the (single) parameter to be
- * formatted. The code has the following structure
- * <ul>
- * <li> a % (required)
- * <li> a modifier (optional)
- * <dl>
- * <dt> +
- * <dd> forces display of + for positive numbers
- * <dt> 0
- * <dd> show leading zeroes
- * <dt> -
- * <dd> align left in the field
- * <dt> space
- * <dd> prepend a space in front of positive numbers
- * <dt> #
- * <dd> use "alternate" format. Add 0 or 0x for octal or
- * hexadecimal numbers. Don't suppress trailing zeroes in
- * general floating point format.
- * </dl>
- * <li> an integer denoting field width (optional)
- * <li> a period followed by an integer denoting precision
- * (optional)
- * <li> a format descriptor (required)
- * <dl>
- * <dt>f
- * <dd> floating point number in fixed format
- * <dt>e, E
- * <dd> floating point number in exponential notation
- * (scientific format). The E format results in an uppercase E
- * for the exponent (1.14130E+003), the e format in a lowercase
- * e.
- * <dt>g, G
- * <dd> floating point number in general format (fixed format
- * for small numbers, exponential format for large numbers).
- * Trailing zeroes are suppressed. The G format results in an
- * uppercase E for the exponent (if any), the g format in a
- * lowercase e.
- * <dt>d, i
- * <dd> integer in decimal
- * <dt>x
- * <dd> integer in hexadecimal
- * <dt>o
- * <dd> integer in octal
- * <dt>s
- * <dd> string
- * <dt>c
- * <dd> character
- * </dl>
- * </ul>
+ * the format string following printf conventions The string has a
+ * prefix, a format code and a suffix. The prefix and suffix become
+ * part of the formatted output. The format code directs the
+ * formatting of the (single) parameter to be formatted. The code has
+ * the following structure
+ * <ul>
+ * <li>a % (required)
+ * <li>a modifier (optional)
+ * <dl>
+ * <dt>+
+ * <dd>forces display of + for positive numbers
+ * <dt>0
+ * <dd>show leading zeroes
+ * <dt>-
+ * <dd>align left in the field
+ * <dt>space
+ * <dd>prepend a space in front of positive numbers
+ * <dt>#
+ * <dd>use "alternate" format. Add 0 or 0x for octal or hexadecimal
+ * numbers. Don't suppress trailing zeroes in general floating point
+ * format.
+ * </dl>
+ * <li>an integer denoting field width (optional)
+ * <li>a period followed by an integer denoting precision (optional)
+ * <li>a format descriptor (required)
+ * <dl>
+ * <dt>f
+ * <dd>floating point number in fixed format
+ * <dt>e, E
+ * <dd>floating point number in exponential notation (scientific
+ * format). The E format results in an uppercase E for the exponent
+ * (1.14130E+003), the e format in a lowercase e.
+ * <dt>g, G
+ * <dd>floating point number in general format (fixed format for
+ * small numbers, exponential format for large numbers). Trailing
+ * zeroes are suppressed. The G format results in an uppercase E for
+ * the exponent (if any), the g format in a lowercase e.
+ * <dt>d, i
+ * <dd>integer in decimal
+ * <dt>x
+ * <dd>integer in hexadecimal
+ * <dt>o
+ * <dd>integer in octal
+ * <dt>s
+ * <dd>string
+ * <dt>c
+ * <dd>character
+ * </dl>
+ * </ul>
* @exception IllegalArgumentException
- * if bad format
+ * if bad format
*
*/
public static String getHexString(java.awt.Color color)
* prints a formatted number following printf conventions
*
* @param s
- * a PrintStream
+ * a PrintStream
* @param fmt
- * the format string
+ * the format string
* @param x
- * the double to print
+ * the double to print
*/
public static void print(java.io.PrintStream s, String fmt, double x)
{
* prints a formatted number following printf conventions
*
* @param s
- * a PrintStream
+ * a PrintStream
* @param fmt
- * the format string
+ * the format string
* @param x
- * the long to print
+ * the long to print
*/
public static void print(java.io.PrintStream s, String fmt, long x)
{
* prints a formatted number following printf conventions
*
* @param s
- * a PrintStream
+ * a PrintStream
* @param fmt
- * the format string
+ * the format string
* @param x
- * the character to
+ * the character to
*/
public static void print(java.io.PrintStream s, String fmt, char x)
{
* prints a formatted number following printf conventions
*
* @param s
- * a PrintStream, fmt the format string
+ * a PrintStream, fmt the format string
* @param x
- * a string that represents the digits to print
+ * a string that represents the digits to print
*/
public static void print(java.io.PrintStream s, String fmt, String x)
{
* Converts a string of digits (decimal, octal or hex) to an integer
*
* @param s
- * a string
+ * a string
* @return the numeric value of the prefix of s representing a base 10 integer
*/
public static int atoi(String s)
* Converts a string of digits (decimal, octal or hex) to a long integer
*
* @param s
- * a string
+ * a string
* @return the numeric value of the prefix of s representing a base 10 integer
*/
public static long atol(String s)
* DOCUMENT ME!
*
* @param s
- * DOCUMENT ME!
+ * DOCUMENT ME!
* @param base
- * DOCUMENT ME!
+ * DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
* Converts a string of digits to an double
*
* @param s
- * a string
+ * a string
*/
public static double atof(String s)
{
* Formats a double into a string (like sprintf in C)
*
* @param x
- * the number to format
+ * the number to format
* @return the formatted string
* @exception IllegalArgumentException
- * if bad argument
+ * if bad argument
*/
public String form(double x)
{
* Formats a long integer into a string (like sprintf in C)
*
* @param x
- * the number to format
+ * the number to format
* @return the formatted string
*/
public String form(long x)
/**
* Formats a character into a string (like sprintf in C)
*
- * @param x
- * the value to format
+ * @param debounceTrap
+ * the value to format
* @return the formatted string
*/
public String form(char c)
/**
* Formats a string into a larger string (like sprintf in C)
*
- * @param x
- * the value to format
+ * @param debounceTrap
+ * the value to format
* @return the formatted string
*/
public String form(String s)
* DOCUMENT ME!
*
* @param c
- * DOCUMENT ME!
+ * DOCUMENT ME!
* @param n
- * DOCUMENT ME!
+ * DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
* DOCUMENT ME!
*
* @param x
- * DOCUMENT ME!
+ * DOCUMENT ME!
* @param n
- * DOCUMENT ME!
+ * DOCUMENT ME!
* @param m
- * DOCUMENT ME!
+ * DOCUMENT ME!
* @param d
- * DOCUMENT ME!
+ * DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
* DOCUMENT ME!
*
* @param r
- * DOCUMENT ME!
+ * DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
* DOCUMENT ME!
*
* @param s
- * DOCUMENT ME!
+ * DOCUMENT ME!
* @param r
- * DOCUMENT ME!
+ * DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
* DOCUMENT ME!
*
* @param d
- * DOCUMENT ME!
+ * DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
* DOCUMENT ME!
*
* @param d
- * DOCUMENT ME!
+ * DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
return f + p.substring(p.length() - 3, p.length());
}
+
+ @Override
+ public String toString()
+ {
+ return formatString;
+ }
}