Class Format

java.lang.Object
sunlabs.brazil.util.Format
Direct Known Subclasses:
ValidateTemplate.GlobFormat

public class Format extends Object
Format a string by substituting values into it from a properties object.
Author:
colin stevens, stephen uhler
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    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
    See if a String represents a "false" boolean value, which consists of: "no", "false", "off", or "0", in any case.
    static boolean
    See if a String represents a "true" boolean value, which consists of: "yes", "true", "on", or "1", in any case.
    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
    Make an html string suitable for including as an attribute value.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Format

      public Format()
  • Method Details

    • 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.
    • 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.