org.jmol.util
Class TextFormat

java.lang.Object
  extended by org.jmol.util.TextFormat

public class TextFormat
extends java.lang.Object


Field Summary
private static java.text.DecimalFormat[] formatters
           
private static java.lang.String[] formattingStrings
           
private static java.lang.Boolean[] useNumberLocalization
           
 
Constructor Summary
TextFormat()
           
 
Method Summary
private static java.lang.String fdup(java.lang.String f, int pt, int n)
          fdup duplicates p or q formats for formatCheck and the format() function.
static java.lang.String format(double value, int width, int precision, boolean alignLeft, boolean zeroPad, boolean allowOverflow)
           
static java.lang.String format(float value, int width, int precision, boolean alignLeft, boolean zeroPad)
           
static java.lang.String format(java.lang.String value, int width, int precision, boolean alignLeft, boolean zeroPad)
           
static java.lang.String formatCheck(java.lang.String strFormat)
          formatCheck checks p and q formats and duplicates if necessary "%10.5p xxxx" ==> "%10.5p%10.5p%10.5p xxxx"
static java.lang.String formatDecimal(float value, int decimalDigits)
           
static java.lang.String formatString(java.lang.String strFormat, java.lang.String key, float floatT)
           
static java.lang.String formatString(java.lang.String strFormat, java.lang.String key, int intT)
           
static java.lang.String formatString(java.lang.String strFormat, java.lang.String key, java.lang.String strT)
           
private static java.lang.String formatString(java.lang.String strFormat, java.lang.String key, java.lang.String strT, float floatT, double doubleT, boolean doOne)
          generic string formatter based on formatLabel in Atom
static boolean isMatch(java.lang.String s, java.lang.String strWildcard, boolean checkStar, boolean allowInitialStar)
           
static boolean isWild(java.lang.String s)
           
static java.lang.String join(java.lang.String[] s, char c, int i0)
           
static void lFill(java.lang.StringBuffer s, java.lang.String s1, java.lang.String s2)
           
static java.lang.String replaceAllCharacters(java.lang.String str, java.lang.String strFrom, char chTo)
          Does a clean replace of any of the characters in str with chrTo If strTo contains strFrom, then only a single pass is done.
static java.lang.String replaceAllCharacters(java.lang.String str, java.lang.String strFrom, java.lang.String strTo)
          Does a clean replace of any of the characters in str with strTo If strTo contains strFrom, then only a single pass is done.
static java.lang.String replaceQuotedStrings(java.lang.String s, java.util.List list, java.util.List newList)
           
static java.lang.String replaceStrings(java.lang.String s, java.util.List list, java.util.List newList)
           
static void rFill(java.lang.StringBuffer s, java.lang.String s1, java.lang.String s2)
           
static java.lang.String safeTruncate(float f, int n)
           
static void setUseNumberLocalization(boolean TF)
           
static java.lang.String simpleReplace(java.lang.String str, java.lang.String strFrom, java.lang.String strTo)
          Does a clean replace of strFrom in str with strTo If strTo contains strFrom, then only a single pass is done.
static java.lang.String[] split(java.lang.String text, char ch)
           
static java.lang.String[] split(java.lang.String text, java.lang.String run)
          proper splitting, even for Java 1.3 -- if the text ends in the run, no new line is appended.
static java.lang.String sprintf(java.lang.String strFormat, java.lang.Object[] values)
          sprintf emulation uses (almost) c++ standard string formats 's' string 'i' or 'd' integer 'f' float/decimal 'p' point3f 'q' quaternion/plane/axisangle ' with added "i" in addion to the insipid "d" (digits?)
static java.lang.String trim(java.lang.String str, java.lang.String chars)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

formatters

private static final java.text.DecimalFormat[] formatters

formattingStrings

private static final java.lang.String[] formattingStrings

useNumberLocalization

private static final java.lang.Boolean[] useNumberLocalization
Constructor Detail

TextFormat

public TextFormat()
Method Detail

setUseNumberLocalization

public static void setUseNumberLocalization(boolean TF)

formatDecimal

public static java.lang.String formatDecimal(float value,
                                             int decimalDigits)

format

public static java.lang.String format(float value,
                                      int width,
                                      int precision,
                                      boolean alignLeft,
                                      boolean zeroPad)

format

public static java.lang.String format(double value,
                                      int width,
                                      int precision,
                                      boolean alignLeft,
                                      boolean zeroPad,
                                      boolean allowOverflow)

format

public static java.lang.String format(java.lang.String value,
                                      int width,
                                      int precision,
                                      boolean alignLeft,
                                      boolean zeroPad)
Parameters:
value -
width - number of columns
precision - precision > 0 ==> precision = number of characters max from left precision < 0 ==> -1 - precision = number of char. max from right
alignLeft -
zeroPad - generally for numbers turned strings
Returns:
formatted string

formatString

public static java.lang.String formatString(java.lang.String strFormat,
                                            java.lang.String key,
                                            java.lang.String strT)

formatString

public static java.lang.String formatString(java.lang.String strFormat,
                                            java.lang.String key,
                                            float floatT)

formatString

public static java.lang.String formatString(java.lang.String strFormat,
                                            java.lang.String key,
                                            int intT)

sprintf

public static java.lang.String sprintf(java.lang.String strFormat,
                                       java.lang.Object[] values)
sprintf emulation uses (almost) c++ standard string formats 's' string 'i' or 'd' integer 'f' float/decimal 'p' point3f 'q' quaternion/plane/axisangle ' with added "i" in addion to the insipid "d" (digits?)

Parameters:
strFormat -
values -
Returns:
formatted string

formatString

private static java.lang.String formatString(java.lang.String strFormat,
                                             java.lang.String key,
                                             java.lang.String strT,
                                             float floatT,
                                             double doubleT,
                                             boolean doOne)
generic string formatter based on formatLabel in Atom

Parameters:
strFormat - .... %width.precisionKEY....
key - any string to match
strT - replacement string or null
floatT - replacement float or Float.NaN
doubleT - replacement double or Double.NaN -- for exponential
doOne - mimic sprintf
Returns:
formatted string

formatCheck

public static java.lang.String formatCheck(java.lang.String strFormat)
formatCheck checks p and q formats and duplicates if necessary "%10.5p xxxx" ==> "%10.5p%10.5p%10.5p xxxx"

Parameters:
strFormat -
Returns:
f or dupicated format

fdup

private static java.lang.String fdup(java.lang.String f,
                                     int pt,
                                     int n)
fdup duplicates p or q formats for formatCheck and the format() function.

Parameters:
f -
pt -
n -
Returns:
%3.5q%3.5q%3.5q%3.5q or %3.5p%3.5p%3.5p

split

public static java.lang.String[] split(java.lang.String text,
                                       java.lang.String run)
proper splitting, even for Java 1.3 -- if the text ends in the run, no new line is appended.

Parameters:
text -
run -
Returns:
String array

replaceAllCharacters

public static java.lang.String replaceAllCharacters(java.lang.String str,
                                                    java.lang.String strFrom,
                                                    java.lang.String strTo)
Does a clean replace of any of the characters in str with strTo If strTo contains strFrom, then only a single pass is done. Otherwise, multiple passes are made until no more replacements can be made.

Parameters:
str -
strFrom -
strTo -
Returns:
replaced string

replaceAllCharacters

public static java.lang.String replaceAllCharacters(java.lang.String str,
                                                    java.lang.String strFrom,
                                                    char chTo)
Does a clean replace of any of the characters in str with chrTo If strTo contains strFrom, then only a single pass is done. Otherwise, multiple passes are made until no more replacements can be made.

Parameters:
str -
strFrom -
chTo -
Returns:
replaced string

simpleReplace

public static java.lang.String simpleReplace(java.lang.String str,
                                             java.lang.String strFrom,
                                             java.lang.String strTo)
Does a clean replace of strFrom in str with strTo If strTo contains strFrom, then only a single pass is done. Otherwise, multiple passes are made until no more replacements can be made.

Parameters:
str -
strFrom -
strTo -
Returns:
replaced string

trim

public static java.lang.String trim(java.lang.String str,
                                    java.lang.String chars)

split

public static java.lang.String[] split(java.lang.String text,
                                       char ch)

lFill

public static void lFill(java.lang.StringBuffer s,
                         java.lang.String s1,
                         java.lang.String s2)

rFill

public static void rFill(java.lang.StringBuffer s,
                         java.lang.String s1,
                         java.lang.String s2)

safeTruncate

public static java.lang.String safeTruncate(float f,
                                            int n)

isWild

public static boolean isWild(java.lang.String s)

isMatch

public static boolean isMatch(java.lang.String s,
                              java.lang.String strWildcard,
                              boolean checkStar,
                              boolean allowInitialStar)

join

public static java.lang.String join(java.lang.String[] s,
                                    char c,
                                    int i0)

replaceQuotedStrings

public static java.lang.String replaceQuotedStrings(java.lang.String s,
                                                    java.util.List list,
                                                    java.util.List newList)

replaceStrings

public static java.lang.String replaceStrings(java.lang.String s,
                                              java.util.List list,
                                              java.util.List newList)