sunlabs.brazil.util
Class Format

java.lang.Object
  extended by sunlabs.brazil.util.Format (view source)
Direct Known Subclasses:
ValidateTemplate.GlobFormat

public class Format
extends Object

Format a string by substituting values into it from a properties object.


Constructor Summary
Format()
           
 
Method Summary
static String deQuote(String str)
          Remove surrounding quotes (" or ') from a string.
static String getProperty(Properties props, String expr, String defaultValue)
          Allow a property name to contain the value of another property, permitting nested variable substitution in attribute values.
static boolean isFalse(String s)
          See if a String represents a "false" boolean value, which consists of: "no", "false", "off", or "0", in any case.
static boolean isTrue(String s)
          See if a String represents a "true" boolean value, which consists of: "yes", "true", "on", or "1", in any case.
static int stringToInt(String value, int dflt)
          Convert a string to an integer; use a default value if the conversion fails.
static String subst(Dictionary props, String str)
          Allow a tag attribute value to contain the value of another property, permitting nested variable substitution in attribute values.
static String subst(Dictionary props, String str, boolean noEsc)
          Allow a tag attribute value to contain the value of another property, permitting nested variable substitution in attribute values.
static String unsubst(String data)
          Make an html string suitable for including as an attribute value.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Format

public Format()
Method Detail

getProperty

public static String getProperty(Properties props,
                                 String expr,
                                 String defaultValue)
Allow a property name to contain the value of another property, permitting nested variable substitution in attribute values. The name of the embedded property to be substituted is bracketted by "${" and "}". See subst(java.util.Dictionary, java.lang.String).
"ghi" => "foo"
"deffoojkl" => "baz"
"abcbazmno" => "garply"
getProperty("ghi") => "foo"
getProperty("def${ghi}jkl") => "baz"
getProperty("abc${def${ghi}jkl}mno") => "garply"

Parameters:
props - The table of variables to use when substituting.
expr - The property name, prossibly containing substitutions.
defaultValue - The value to use if the top-level substitution does not exist. May be null.

subst

public static String subst(Dictionary props,
                           String str)
Allow a tag attribute value to contain the value of another property, permitting nested variable substitution in attribute values. To escape ${XXX}, use \${XXX}.

The sequence "\X" is identical to "X", except when "X" is one of:

$
A literal "$", that will not introduce a variable substitution if it is followed by "{".
n
Insert a NL (newline) character
r
Insert a CR (Carriage return) character
"
Insert a single quote (").
l
Insert a (<).
g
Insert a (>).
a
Insert a (&).
end of value
Insert a "\".

"ghi" = "foo"
"deffoojkl" = "baz"
"abcbazmno" = "garply"
subst("ghi") = "ghi"
subst("def${ghi}jkl") = "deffoojkl"
subst("def\${ghi}jkl") = "def${ghi}jkl"
subst("abc${def${ghi}jkl}mno") = "abcbazmno"
subst("${abc${def${ghi}jkl}mno}") = "garply"

Parameters:
props - The table of variables to substitute. If this is a Properties object, then the getProperty() method is used instead of the Dictionary class get() method.
str - The expression containing the substitutions. Embedded property names, bracketted by "${" and "}" are looked up in the props table and replaced with their value. Nested substitutions are allowed.
Returns:
The substituted string. If a variable is not found in the table, the empty string is used.

subst

public static String subst(Dictionary props,
                           String str,
                           boolean noEsc)
Allow a tag attribute value to contain the value of another property, permitting nested variable substitution in attribute values. To escape ${XXX}, use \${XXX}. See above.

if noEsc is true, then The sequence "\X" is identical to "\X" for all X except X=$.


isTrue

public static boolean isTrue(String s)
See if a String represents a "true" boolean value, which consists of: "yes", "true", "on", or "1", in any case.


isFalse

public static boolean isFalse(String s)
See if a String represents a "false" boolean value, which consists of: "no", "false", "off", or "0", in any case.


stringToInt

public static int stringToInt(String value,
                              int dflt)
Convert a string to an integer; use a default value if the conversion fails.

Parameters:
value - the value to attemp conversion of
dftl - The result if the value is not a valid number
Returns:
The integer value of "value", or "dflt" if value is NAN.

deQuote

public static String deQuote(String str)
Remove surrounding quotes (" or ') from a string.


unsubst

public static String unsubst(String data)
Make an html string suitable for including as an attribute value. Convert '<', '>', '&', '"', and ''' to \l, \g, \a, \q and \a.


Version Kenai-svn-r24, Generated 08/18/09
Copyright (c) 2001-2009, Sun Microsystems.