Package tilda.utils

Class TextUtil


  • public class TextUtil
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      TextUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static java.lang.String asNonBreakingHTML​(java.lang.String str)  
      static java.lang.String capitalizeEachWord​(java.lang.String Str)  
      static java.lang.String capitalizeFirstCharacter​(java.lang.String Str)  
      static boolean contains​(java.lang.String[] A, java.lang.String val, boolean ignoreCase, int start)
      Returns whether A contains Val (strict equal case sensitive or not based on IgnoreCase).
      static java.lang.String convertWebSpecialCharacters​(java.lang.String Str)  
      static int count​(java.lang.String Src, char c)  
      static int count​(java.lang.String Src, java.lang.String c)  
      static boolean crudeStringValidation​(java.lang.String Str, char Delimiter, char Escape)  
      static boolean equals​(java.lang.String S1, java.lang.String S2)  
      static void escapeAllQuotesWithSlash​(java.lang.StringBuilder x, java.lang.String str)  
      static java.lang.String escapeBacktickWithSlash​(java.lang.String str)  
      static void escapeBacktickWithSlash​(java.lang.StringBuilder x, java.lang.String str)  
      static java.lang.String escapeDoubleQuoteForCSV​(java.lang.String str)  
      static void escapeDoubleQuoteForCSV​(java.lang.StringBuilder x, java.lang.String str)  
      static java.lang.String escapeDoubleQuoteWithSlash​(java.lang.String str)  
      static void escapeDoubleQuoteWithSlash​(java.lang.StringBuilder x, java.lang.String str)  
      static java.lang.String escapeForRegex​(java.lang.String s)  
      static java.lang.String escapeHTMLJavaScriptQuotes​(java.lang.String str)  
      static java.lang.String escapeHTMLJavaScriptQuotes​(java.lang.String str, java.lang.String beforeAfter)  
      static java.lang.String escapeHTMLQuotes​(java.lang.String str)  
      static java.lang.String escapeJavaScriptQuotes​(java.lang.String str)  
      static java.lang.String escapeSingleQuoteForSQL​(java.lang.String str)
      Escapes a string for SQL, including surrounding single quotes
      static java.lang.String escapeSingleQuoteForSQL​(java.lang.String[] strs, boolean first)
      Escapes an array of string for SQL, including surrounding single quotes, comma-separated.
      static void escapeSingleQuoteForSQL​(java.lang.StringBuilder x, char[] chars, boolean first)
      Escapes a list of chars for SQL, including surrounding single quotes, comma-separated.
      static void escapeSingleQuoteForSQL​(java.lang.StringBuilder x, java.lang.String str)
      Escapes a string for SQL, including surrounding single quotes.
      static void escapeSingleQuoteForSQL​(java.lang.StringBuilder x, java.lang.String[] strs, boolean first)
      Escapes an array of string for SQL, including surrounding single quotes, comma-separated.
      static <T> void escapeSingleQuoteForSQL​(java.lang.StringBuilder x, java.util.Collection<T> strs, boolean first)
      Escapes a collection of objects' toString() for SQL, including surrounding single quotes, comma-separated.
      static java.lang.String escapeSingleQuoteWithSlash​(java.lang.String str)  
      static void escapeSingleQuoteWithSlash​(java.lang.StringBuilder x, java.lang.String str)  
      static java.lang.String escapeSingleQuoteWithSlashDouble​(java.lang.String str)  
      static void escapeXML​(java.io.PrintStream Out, java.lang.String Str)
      Same as escapeXML(PrintWriter, String) but with a PrintStream.
      static void escapeXML​(java.io.PrintWriter Out, java.lang.String Str)
      Writes the Str string in a way that makes it compatible with XML, i.e.: < and > are escaped as &lt; and &gt; & is escaped to &amp; " and ' are escaped to &quot; and &apos;
      static java.lang.String escapeXML​(java.lang.String Str)
      Same as escapeXML(PrintWriter, String) but returning a direct String.

      Note: FYI that it seems bad form to copy/paste the same logic instead of reusing, but the escapeXML1 version is about 5 times slower.
      static int findElement​(java.lang.String[][] A, java.lang.String Val, int pos, boolean IgnoreCase, int Start)  
      static int findElement​(java.lang.String[] A, java.lang.String val, boolean ignoreCase, int start)
      Returns the index in A that matched the value of Val (strict equal case sensitive or not based on IgnoreCase).
      static int findElement​(java.lang.String V, java.lang.String Vals, char Separator)  
      static int findStarElement​(java.lang.String[] A, java.lang.String Val, boolean IgnoreCase, int Start)
      Returns the index in A that matched the value of Val, either as a startsWith, if the element in A ends in '*', or a endsWith if the element in A starts with a '*', or a strict equal otherwise.
      static java.lang.String generateLead​(char C, int Level)  
      static java.lang.String getElement​(int Index, java.lang.String Vals, char Separator)  
      static java.lang.String HTML2TXT​(java.lang.String Str)
      Deprecated.
      static java.lang.String HTML2TXT​(java.lang.String html, boolean normalized)
      Passthrough method that uses the JSoup API to extract the Text from an HTML document
      static java.lang.String identity​(java.lang.String str)
      Useful methods when creating string constants you don't want to be considered as compile-time constants (i.e., not be inlined in referring code).
      static int indexOf​(char[] buff, char c, int i)  
      static boolean indexOf​(java.lang.String Str, java.lang.String[] A)
      Returns true if any element in A matches an indexOf query on Str
      static int indexOfEndOfQuotedString​(char[] buff, int i)  
      static int indexOfNoNewLine​(char[] buff, char c, int i)  
      static char isAccentedCharacter​(char c)  
      static boolean isAllDigits​(java.lang.String Str)  
      static boolean isAllLetters​(java.lang.String Str)  
      static boolean isJavaIdentifier​(java.lang.String Str)  
      static boolean isJavaIdentifierWithSpacesAndDashes​(java.lang.String Str)  
      static boolean isLowerCase​(java.lang.String Str)  
      static boolean isNullOrEmpty​(java.lang.String str)
      Checks if a String is NULL or made up only of white spaces (as per Character.isWhitespace(char).
      static boolean isNullOrEmpty​(java.lang.String[] strings)
      Checks if an array of Strings is NULL, empty, or made up of Strings that are themselves null or empty (as per isNullOrEmpty(String).
      static boolean isNullOrEmpty​(java.util.List<java.lang.String> strings)
      Checks if an list of Strings is NULL, empty, or made up of Strings that are themselves null or empty (as per isNullOrEmpty(String).
      static java.lang.String joinTrim​(java.lang.String[] A, java.lang.String Separator)  
      static void listPrint​(java.lang.StringBuilder Str, java.lang.String Sep, java.lang.String Val)  
      static <T> java.util.Iterator<T> mask​(java.util.Iterator<T> I, T val)
      Returns a new Iterator on a list where all incoming values have been replaced by the mask
      static <T> T[] mask​(T[] A, T val)  
      static java.lang.String maskName​(java.lang.String StandardFullName, long RefNum)  
      static java.lang.String maskName​(java.lang.String Last, java.lang.String First, long RefNum)  
      static java.lang.String merge​(java.lang.String Set1, java.lang.String Set2, java.lang.String Separator)  
      static java.lang.String merge​(java.lang.String Set1, java.lang.String Set2, java.lang.String SeparatorRegEx, java.lang.String SeparatorStr, boolean TrailingSeparator, boolean Trim)  
      static java.lang.String noNullOrEmptyPrint​(java.lang.String Val, java.lang.String Default)  
      static java.lang.String noNullPrint​(java.lang.String Val, java.lang.String Default)  
      static java.lang.String normalCapitalization​(java.lang.String Str)  
      static void partsSqlLike​(java.lang.String[] parts)
      Takes a string array and changes the array values to be sql likes, i.e., '%'+parts[i]+'%'
      static java.lang.String[] partsSqlLike​(java.lang.String Val, java.lang.String splitRegex, boolean lowerCase)
      Takes a string with a regex-based separator (e.g., \s+) and turns it into an array of '%token%'.
      static java.lang.String print​(int[] Integers, java.lang.String Post)  
      static java.lang.String print​(java.lang.String[] strArray)  
      static java.lang.String print​(java.lang.String[][] A, int pos)  
      static void print​(java.lang.String[][] StrArray, int pos, java.lang.StringBuilder s)  
      static java.lang.String print​(java.lang.String[] strArray, java.lang.String separator)  
      static void print​(java.lang.String[] strArray, java.lang.StringBuilder s)  
      static void print​(java.lang.String[] strArray, java.lang.String separator, java.lang.StringBuilder s)  
      static java.lang.String print​(java.lang.String Str, java.lang.String Default)
      Prints Str is it is not null and not empty.
      static java.lang.String print​(java.util.Iterator<?> I)  
      static java.lang.String print​(java.util.Iterator<?> I, java.lang.String separator)  
      static void print​(java.util.Iterator<?> I, java.lang.StringBuilder s)  
      static java.lang.String print​(java.util.List<?> L, java.lang.String separator)  
      protected static void printException​(java.lang.StringBuilder Str, boolean HTML, java.lang.Throwable T)  
      static void printException​(java.lang.StringBuilder Str, boolean HTML, java.lang.Throwable T, boolean PrintCauseToo)  
      static void printExceptionMessages​(java.lang.StringBuilder Str, boolean HTML, java.lang.Throwable T, boolean PrintCauseToo)  
      static java.lang.String printJavaStringArray​(java.lang.String[] StrArray)
      Prints a list of strings in a comma-separated list of items to be used in Java code gen.
      static void printJavaStringArray​(java.lang.String[] StrArray, java.lang.StringBuilder s)
      Prints a list of strings in a comma-separated list of items to be used in Java code gen.
      static java.lang.String printJsonQuotedStringValue​(java.lang.String v)  
      static boolean printSQLIn​(java.lang.StringBuilder Str, java.lang.String Start, java.lang.String CommaSeparatedList, java.lang.String End)  
      static java.lang.String printSQLIn​(java.lang.String Start, java.lang.String CommaSeparatedList, java.lang.String End)  
      static boolean printSQLLike​(java.lang.StringBuilder Str, java.lang.String Start, java.lang.String ColumnName, java.lang.String CommaSeparatedList, java.lang.String BooleanOperator)  
      static java.lang.String printSQLLike​(java.lang.String Start, java.lang.String ColumnName, java.lang.String CommaSeparatedList, java.lang.String BooleanOperator)  
      static java.lang.String printVariableStr​(java.lang.String Value)  
      static java.lang.String printVariableStr​(java.lang.String Value, int MaxLen)  
      static void printWithQuotes​(java.lang.String[] StrArray, java.lang.StringBuilder s)  
      static void printXMLTag​(java.io.PrintWriter Out, java.lang.String Lead, java.lang.String Tag, java.lang.String Content)  
      static java.lang.String processTextToHTMLParagraphs​(java.lang.String Text, java.lang.String StyleClass)  
      static char removeAccent​(char c)  
      static java.lang.String removeElement​(int Index, java.lang.String Vals, char Separator)  
      static java.lang.String removeTokenFromArray​(java.lang.String[] Source, java.lang.String DeleteToken)  
      static java.lang.String replaceAccentedCharacters​(java.lang.String str)  
      static java.lang.String replaceAccentedCharactersWithWebSpecialCharacters​(java.lang.String Str)  
      static java.lang.String RTF2TXT​(java.lang.String Str)  
      static java.lang.String sanitizeName​(java.lang.String Name)
      Takes a string and rewrites it by replacing all special characters with an '_'.
      static java.io.Writer searchReplace​(java.io.Writer x, java.lang.String str, java.lang.String search, java.lang.String replace)
      A search-and-replace method similar to searchReplace(String, String, String) but which outputs the results to a Writer.
      static java.lang.StringBuilder searchReplace​(java.lang.StringBuilder x, java.lang.String str, java.lang.String search, java.lang.String replace)
      A search-and-replace method similar to searchReplace(String, String, String) but which outputs the results to a StringBuilder.
      static java.lang.String searchReplace​(java.lang.String str, java.lang.String search, java.lang.String replace)
      A search-and-replace method that can be in most cases about 3x faster than the built in String.replaceAll(String, String), and doesn't use regexes.
      static java.lang.String semiMask​(java.lang.String Str)
      This is an expensive function, so cache results please
      static java.lang.String simplifyName​(java.lang.String Name)
      Takes a string and rewrites it in lower case, and removing all non alpha-numeric characters.
      static java.lang.String sortAndConcatenateStringArray​(java.lang.String[] StrArray, java.lang.String Separator)  
      static void sortDoubleDimensionArray​(java.lang.String[][] StrArr)  
      static java.lang.String[] split​(java.lang.String str, java.lang.String separatorRegEx)
      Splits a string based on separator regex using the standard String.split() method.
      static java.lang.String[] split​(java.lang.String Str, java.lang.String SeparatorRegEx, boolean Trim, boolean RemoveEmpties)
      Splits a string based on separator regex using the standard String.split() method.
      static java.lang.String standardizeFullName​(java.lang.String Title, java.lang.String Last, java.lang.String First, java.lang.String Middle)
      Returns a standardized name string as "[title] UPPER([last]), CAPITALIZED([first]) UPPER(FIRST_CHAR([middle])).".
      static boolean starEqual​(java.lang.String lhs, java.lang.String rhs)
      Allows for rhs to start and/or end with a '*' character for a partial equal against lhs
      static boolean starEqualIgnoreCase​(java.lang.String lhs, java.lang.String rhs)  
      static java.lang.String streamToString​(java.io.InputStream In)  
      static boolean toBoolean​(java.lang.String val)  
      static java.lang.String toJavascriptArray​(java.lang.String[] Vals)  
      static java.lang.String toJavascriptArray​(java.lang.String[][] Vals)  
      static java.lang.StringBuilder toJavascriptArray​(java.lang.StringBuilder Str, java.lang.String[] Vals)  
      static java.lang.StringBuilder toJavascriptArray​(java.lang.StringBuilder Str, java.lang.String[][] Vals)  
      static java.lang.String toLettersAndDigits​(java.lang.String Str)  
      static java.lang.String toMaxLength​(java.lang.String Str, int MaxLen)
      Truncates the string and adds "..." if it is bigger than MaxLen
      static java.lang.String toShortDollarStr​(double Value)  
      static java.lang.String trim​(java.lang.String Str)  
      static java.lang.String[] unique​(java.lang.String[] strings)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOG

        protected static final org.apache.logging.log4j.Logger LOG
      • WEBSPECIALCHARS

        protected static final java.lang.String[][] WEBSPECIALCHARS
      • RTF_CELL_PATTERN

        protected static final java.util.regex.Pattern RTF_CELL_PATTERN
      • HTML_NEWLINE_PATTERN

        protected static final java.util.regex.Pattern HTML_NEWLINE_PATTERN
      • HTML_TAG_PATTERN

        protected static final java.util.regex.Pattern HTML_TAG_PATTERN
    • Constructor Detail

      • TextUtil

        public TextUtil()
    • Method Detail

      • identity

        public static java.lang.String identity​(java.lang.String str)
        Useful methods when creating string constants you don't want to be considered as compile-time constants (i.e., not be inlined in referring code).
        Parameters:
        str - The String to process
        Returns:
        The string passed in, unchanged.
      • escapeSingleQuoteForSQL

        public static final java.lang.String escapeSingleQuoteForSQL​(java.lang.String str)
        Escapes a string for SQL, including surrounding single quotes

        Escapes a String value suitable for SQL generation including surrounding quotes, i.e., "John's Toe" -> "'John''s Toe'". Internally, this method creates a StringBuilder and calls escapeSingleQuoteForSQL(StringBuilder, String). If you are performance conscious and already working with a StringBuilder, use that other method instead.

        Parameters:
        str -
        Returns:
        a string where the string is surrounded by a single quote and any single quote included is duplicated so as to make the result suitable to be used in an SQL query.
      • escapeSingleQuoteForSQL

        public static final void escapeSingleQuoteForSQL​(java.lang.StringBuilder x,
                                                         java.lang.String str)
        Escapes a string for SQL, including surrounding single quotes.

        Escapes a String value suitable for SQL generation including surrounding quotes, i.e., "John's Toe" -> "'John''s Toe'" and appends it to the StringBuilder provided.

        Parameters:
        x - The StringBuilder to append the escaped string to
        str - The string to escape
      • escapeSingleQuoteForSQL

        public static final void escapeSingleQuoteForSQL​(java.lang.StringBuilder x,
                                                         java.lang.String[] strs,
                                                         boolean first)
        Escapes an array of string for SQL, including surrounding single quotes, comma-separated.

        Escapes string values suitable for SQL generation including surrounding quotes, i.e., "John's Toe" -> "'John''s Toe'" and appends it to the StringBuilder provided separating them by commas (suitable for an "in" for example). Another version of this method, escapeSingleQuoteForSQL(String[], boolean) is available that doesn't need a StringBuilder but which is less efficient.

        Parameters:
        x - The StringBuilder to append the comma-separated escaped string sto
        strs - An array of Strings
        first - whether this is the first printing in a list (should not start with a comma), or part of a series of call where the first part of the list has already occurred.
      • escapeSingleQuoteForSQL

        public static final java.lang.String escapeSingleQuoteForSQL​(java.lang.String[] strs,
                                                                     boolean first)
        Escapes an array of string for SQL, including surrounding single quotes, comma-separated.

        This method behaves similarly to escapeSingleQuoteForSQL(StringBuilder, String[], boolean) but creates an internal SrringBuilder and returns the escaped values directly. This doesn't perform as well as that other method, but is useful in simpler settings where you might not be working already with a StringBuilder. Otherwise, the other method is preferred and more efficient.

        Parameters:
        strs - An array of strings to escape.
        first - whether this is the first part of a list (not starting with a comma), or a subsequent part of a list, which should start with a comma.
        Returns:
        The comma-separated list of escaped strings suitable for an SQL "in" for example.
      • escapeSingleQuoteForSQL

        public static void escapeSingleQuoteForSQL​(java.lang.StringBuilder x,
                                                   char[] chars,
                                                   boolean first)
        Escapes a list of chars for SQL, including surrounding single quotes, comma-separated.

        Escapes char values suitable for SQL generation including surrounding quotes, i.e., "'" -> "''''" and appends it to the StringBuilder provided separating them by commas (suitable for an "in" for example).

        Parameters:
        x - The StringBuilder to append the comma-separated escaped string sto
        chars - An array of char
        first - whether this is the first printing in a list (should not start with a comma), or part of a series of call where the first part of the list has already occurred.
      • escapeSingleQuoteForSQL

        public static final <T> void escapeSingleQuoteForSQL​(java.lang.StringBuilder x,
                                                             java.util.Collection<T> strs,
                                                             boolean first)
        Escapes a collection of objects' toString() for SQL, including surrounding single quotes, comma-separated.

        This method behaves similarly to escapeSingleQuoteForSQL(StringBuilder, String[], boolean) but creates an internal SrringBuilder and returns the escaped values directly. This doesn't perform as well as that other method, but is useful in simpler settings where you might not be working already with a StringBuilder. Otherwise, the other method is preferred and more efficient.

        Parameters:
        s - An array of strings to escape.
        first - whether this is the first part of a list (not starting with a comma), or a subsequent part of a list, which should start with a comma.
      • escapeDoubleQuoteWithSlash

        public static final java.lang.String escapeDoubleQuoteWithSlash​(java.lang.String str)
      • escapeDoubleQuoteWithSlash

        public static final void escapeDoubleQuoteWithSlash​(java.lang.StringBuilder x,
                                                            java.lang.String str)
      • escapeDoubleQuoteForCSV

        public static final java.lang.String escapeDoubleQuoteForCSV​(java.lang.String str)
      • escapeDoubleQuoteForCSV

        public static final void escapeDoubleQuoteForCSV​(java.lang.StringBuilder x,
                                                         java.lang.String str)
      • escapeSingleQuoteWithSlashDouble

        public static final java.lang.String escapeSingleQuoteWithSlashDouble​(java.lang.String str)
      • escapeSingleQuoteWithSlash

        public static final java.lang.String escapeSingleQuoteWithSlash​(java.lang.String str)
      • escapeSingleQuoteWithSlash

        public static final void escapeSingleQuoteWithSlash​(java.lang.StringBuilder x,
                                                            java.lang.String str)
      • escapeAllQuotesWithSlash

        public static final void escapeAllQuotesWithSlash​(java.lang.StringBuilder x,
                                                          java.lang.String str)
      • escapeBacktickWithSlash

        public static final java.lang.String escapeBacktickWithSlash​(java.lang.String str)
      • escapeBacktickWithSlash

        public static final void escapeBacktickWithSlash​(java.lang.StringBuilder x,
                                                         java.lang.String str)
      • escapeHTMLQuotes

        public static final java.lang.String escapeHTMLQuotes​(java.lang.String str)
      • escapeJavaScriptQuotes

        public static final java.lang.String escapeJavaScriptQuotes​(java.lang.String str)
      • escapeHTMLJavaScriptQuotes

        public static final java.lang.String escapeHTMLJavaScriptQuotes​(java.lang.String str)
      • escapeHTMLJavaScriptQuotes

        public static final java.lang.String escapeHTMLJavaScriptQuotes​(java.lang.String str,
                                                                        java.lang.String beforeAfter)
      • isNullOrEmpty

        public static boolean isNullOrEmpty​(java.lang.String str)
        Checks if a String is NULL or made up only of white spaces (as per Character.isWhitespace(char).
        Parameters:
        str -
        Returns:
        true if the string is null or empty
      • isNullOrEmpty

        public static boolean isNullOrEmpty​(java.lang.String[] strings)
        Checks if an array of Strings is NULL, empty, or made up of Strings that are themselves null or empty (as per isNullOrEmpty(String).
        Parameters:
        strings -
        Returns:
        true if the array is null or empty, or only contains strings that are themselves null or empty.
      • isNullOrEmpty

        public static boolean isNullOrEmpty​(java.util.List<java.lang.String> strings)
        Checks if an list of Strings is NULL, empty, or made up of Strings that are themselves null or empty (as per isNullOrEmpty(String).
        Parameters:
        strings -
        Returns:
        true if the list is null or empty, or only contains strings that are themselves null or empty.
      • searchReplace

        public static final java.lang.String searchReplace​(java.lang.String str,
                                                           java.lang.String search,
                                                           java.lang.String replace)
        A search-and-replace method that can be in most cases about 3x faster than the built in String.replaceAll(String, String), and doesn't use regexes.

        See test case in TextUtilTest.Test_SearchReplace() for performance analysis.

        Parameters:
        str -
        search -
        replace -
        Returns:
        The string with the search substring replaced by the replace string.
      • searchReplace

        public static final java.lang.StringBuilder searchReplace​(java.lang.StringBuilder x,
                                                                  java.lang.String str,
                                                                  java.lang.String search,
                                                                  java.lang.String replace)
        A search-and-replace method similar to searchReplace(String, String, String) but which outputs the results to a StringBuilder.
        Parameters:
        x -
        str -
        search -
        replace -
        Returns:
        The StringBuilder passed in.
      • searchReplace

        public static final java.io.Writer searchReplace​(java.io.Writer x,
                                                         java.lang.String str,
                                                         java.lang.String search,
                                                         java.lang.String replace)
                                                  throws java.io.IOException
        A search-and-replace method similar to searchReplace(String, String, String) but which outputs the results to a Writer.
        Parameters:
        x -
        str -
        search -
        replace -
        Returns:
        The Writer passed in
        Throws:
        java.io.IOException
      • removeElement

        public static java.lang.String removeElement​(int Index,
                                                     java.lang.String Vals,
                                                     char Separator)
      • findElement

        public static int findElement​(java.lang.String V,
                                      java.lang.String Vals,
                                      char Separator)
      • contains

        public static final boolean contains​(java.lang.String[] A,
                                             java.lang.String val,
                                             boolean ignoreCase,
                                             int start)
        Returns whether A contains Val (strict equal case sensitive or not based on IgnoreCase).
        Parameters:
        A -
        val -
        ignoreCase -
        start -
        Returns:
      • findElement

        public static int findElement​(java.lang.String[] A,
                                      java.lang.String val,
                                      boolean ignoreCase,
                                      int start)
        Returns the index in A that matched the value of Val (strict equal case sensitive or not based on IgnoreCase). If no match is found, returns -1;
        Parameters:
        A -
        val -
        ignoreCase -
        start -
        Returns:
      • findStarElement

        public static int findStarElement​(java.lang.String[] A,
                                          java.lang.String Val,
                                          boolean IgnoreCase,
                                          int Start)
        Returns the index in A that matched the value of Val, either as a startsWith, if the element in A ends in '*', or a endsWith if the element in A starts with a '*', or a strict equal otherwise. The comparison is case-sensitive or not based on IgnoreCase. -1 is returned is no match is found. If there are multiple matches (for example comparing "aaaa" with "a*" and "aa*", only the first one will be returned.
        Parameters:
        A -
        Val -
        IgnoreCase -
        Start -
        Returns:
      • findElement

        public static int findElement​(java.lang.String[][] A,
                                      java.lang.String Val,
                                      int pos,
                                      boolean IgnoreCase,
                                      int Start)
      • getElement

        public static java.lang.String getElement​(int Index,
                                                  java.lang.String Vals,
                                                  char Separator)
      • toShortDollarStr

        public static java.lang.String toShortDollarStr​(double Value)
      • count

        public static int count​(java.lang.String Src,
                                char c)
      • count

        public static int count​(java.lang.String Src,
                                java.lang.String c)
      • isAllLetters

        public static boolean isAllLetters​(java.lang.String Str)
      • isAllDigits

        public static boolean isAllDigits​(java.lang.String Str)
      • isJavaIdentifier

        public static boolean isJavaIdentifier​(java.lang.String Str)
      • isJavaIdentifierWithSpacesAndDashes

        public static boolean isJavaIdentifierWithSpacesAndDashes​(java.lang.String Str)
      • processTextToHTMLParagraphs

        public static java.lang.String processTextToHTMLParagraphs​(java.lang.String Text,
                                                                   java.lang.String StyleClass)
      • noNullPrint

        public static java.lang.String noNullPrint​(java.lang.String Val,
                                                   java.lang.String Default)
      • noNullOrEmptyPrint

        public static java.lang.String noNullOrEmptyPrint​(java.lang.String Val,
                                                          java.lang.String Default)
      • sanitizeName

        public static java.lang.String sanitizeName​(java.lang.String Name)
        Takes a string and rewrites it by replacing all special characters with an '_'. Special characters include ' ', '*', '\'', '/', '"', ':', ';', ',', '.', '%', '+', '&', '=', '?', '-', '(', ')', '[', ']', '{', '}'
      • simplifyName

        public static java.lang.String simplifyName​(java.lang.String Name)
        Takes a string and rewrites it in lower case, and removing all non alpha-numeric characters. For example "This is * TEST" becomes "thisistest"
      • toJavascriptArray

        public static java.lang.String toJavascriptArray​(java.lang.String[][] Vals)
      • toJavascriptArray

        public static java.lang.StringBuilder toJavascriptArray​(java.lang.StringBuilder Str,
                                                                java.lang.String[][] Vals)
      • toJavascriptArray

        public static java.lang.String toJavascriptArray​(java.lang.String[] Vals)
      • toJavascriptArray

        public static java.lang.StringBuilder toJavascriptArray​(java.lang.StringBuilder Str,
                                                                java.lang.String[] Vals)
      • isAccentedCharacter

        public static char isAccentedCharacter​(char c)
      • replaceAccentedCharacters

        public static java.lang.String replaceAccentedCharacters​(java.lang.String str)
      • removeAccent

        public static char removeAccent​(char c)
      • replaceAccentedCharactersWithWebSpecialCharacters

        public static java.lang.String replaceAccentedCharactersWithWebSpecialCharacters​(java.lang.String Str)
      • convertWebSpecialCharacters

        public static java.lang.String convertWebSpecialCharacters​(java.lang.String Str)
      • unique

        public static java.lang.String[] unique​(java.lang.String[] strings)
      • print

        public static void print​(java.lang.String[] strArray,
                                 java.lang.StringBuilder s)
      • print

        public static void print​(java.lang.String[] strArray,
                                 java.lang.String separator,
                                 java.lang.StringBuilder s)
      • printJavaStringArray

        public static void printJavaStringArray​(java.lang.String[] StrArray,
                                                java.lang.StringBuilder s)
        Prints a list of strings in a comma-separated list of items to be used in Java code gen. For example, passing ["a\"", "b"] will generate "a\"", "b", i.e., double quotes in passed strings will be escaped.
        Parameters:
        StrArray -
        s -
      • printJavaStringArray

        public static java.lang.String printJavaStringArray​(java.lang.String[] StrArray)
        Prints a list of strings in a comma-separated list of items to be used in Java code gen. For example, passing ["a\"", "b"] will generate "a\"", "b", i.e., double quotes in passed strings will be escaped.
        Parameters:
        StrArray -
        s -
      • print

        public static java.lang.String print​(java.lang.String[][] A,
                                             int pos)
      • print

        public static void print​(java.lang.String[][] StrArray,
                                 int pos,
                                 java.lang.StringBuilder s)
      • print

        public static final java.lang.String print​(java.util.Iterator<?> I)
      • print

        public static final java.lang.String print​(java.util.Iterator<?> I,
                                                   java.lang.String separator)
      • print

        public static final void print​(java.util.Iterator<?> I,
                                       java.lang.StringBuilder s)
      • printWithQuotes

        public static final void printWithQuotes​(java.lang.String[] StrArray,
                                                 java.lang.StringBuilder s)
      • print

        public static final java.lang.String print​(java.lang.String[] strArray)
      • print

        public static final java.lang.String print​(java.lang.String[] strArray,
                                                   java.lang.String separator)
      • print

        public static final java.lang.String print​(java.lang.String Str,
                                                   java.lang.String Default)
        Prints Str is it is not null and not empty. Otherwise, prints Default.
        Parameters:
        Str -
        Default -
        Returns:
        See Also:
        isNullOrEmpty(String)
      • escapeXML

        public static final void escapeXML​(java.io.PrintWriter Out,
                                           java.lang.String Str)
        Writes the Str string in a way that makes it compatible with XML, i.e.:
        • < and > are escaped as &lt; and &gt;
        • & is escaped to &amp;
        • " and ' are escaped to &quot; and &apos;
        Parameters:
        Out -
        Str -
      • escapeXML

        public static final void escapeXML​(java.io.PrintStream Out,
                                           java.lang.String Str)
        Same as escapeXML(PrintWriter, String) but with a PrintStream.
        Parameters:
        Out -
        Str -
      • escapeXML

        public static final java.lang.String escapeXML​(java.lang.String Str)
        Same as escapeXML(PrintWriter, String) but returning a direct String.

        Note: FYI that it seems bad form to copy/paste the same logic instead of reusing, but the escapeXML1 version is about 5 times slower.
        Parameters:
        Out -
        Str -
      • printXMLTag

        public static final void printXMLTag​(java.io.PrintWriter Out,
                                             java.lang.String Lead,
                                             java.lang.String Tag,
                                             java.lang.String Content)
      • RTF2TXT

        public static final java.lang.String RTF2TXT​(java.lang.String Str)
                                              throws java.io.IOException,
                                                     javax.swing.text.BadLocationException
        Throws:
        java.io.IOException
        javax.swing.text.BadLocationException
      • HTML2TXT

        @Deprecated
        public static final java.lang.String HTML2TXT​(java.lang.String Str)
        Deprecated.
        This method used a reg-ex based poor-man's version of parsing out text from an HTML document by removing some tags and replacing things like TD, DIV, BR , P etc... with new lines. This worked 8y ago when we did this but today, with more modern HTML, this is insufficient.

        Instead, use the JSoup API, or the passthrough HTML2TXT(String, boolean) method.
        Parameters:
        Str -
        Returns:
      • HTML2TXT

        public static final java.lang.String HTML2TXT​(java.lang.String html,
                                                      boolean normalized)
        Passthrough method that uses the JSoup API to extract the Text from an HTML document
        Parameters:
        html - the html document
        normalized - whether normalized or non-normalized text content should be returned (as per the JSoup API)
        Returns:
        the text contents from the HTML documentation.
      • streamToString

        public static final java.lang.String streamToString​(java.io.InputStream In)
                                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • printExceptionMessages

        public static final void printExceptionMessages​(java.lang.StringBuilder Str,
                                                        boolean HTML,
                                                        java.lang.Throwable T,
                                                        boolean PrintCauseToo)
      • printException

        public static final void printException​(java.lang.StringBuilder Str,
                                                boolean HTML,
                                                java.lang.Throwable T,
                                                boolean PrintCauseToo)
      • printException

        protected static final void printException​(java.lang.StringBuilder Str,
                                                   boolean HTML,
                                                   java.lang.Throwable T)
      • isLowerCase

        public static final boolean isLowerCase​(java.lang.String Str)
      • merge

        public static final java.lang.String merge​(java.lang.String Set1,
                                                   java.lang.String Set2,
                                                   java.lang.String Separator)
      • merge

        public static final java.lang.String merge​(java.lang.String Set1,
                                                   java.lang.String Set2,
                                                   java.lang.String SeparatorRegEx,
                                                   java.lang.String SeparatorStr,
                                                   boolean TrailingSeparator,
                                                   boolean Trim)
      • indexOf

        public static final int indexOf​(char[] buff,
                                        char c,
                                        int i)
      • indexOfNoNewLine

        public static final int indexOfNoNewLine​(char[] buff,
                                                 char c,
                                                 int i)
      • indexOfEndOfQuotedString

        public static final int indexOfEndOfQuotedString​(char[] buff,
                                                         int i)
      • indexOf

        public static final boolean indexOf​(java.lang.String Str,
                                            java.lang.String[] A)
        Returns true if any element in A matches an indexOf query on Str
        Parameters:
        Str -
        A -
        Returns:
      • equals

        public static final boolean equals​(java.lang.String S1,
                                           java.lang.String S2)
      • generateLead

        public static final java.lang.String generateLead​(char C,
                                                          int Level)
      • print

        public static final java.lang.String print​(int[] Integers,
                                                   java.lang.String Post)
      • split

        public static final java.lang.String[] split​(java.lang.String Str,
                                                     java.lang.String SeparatorRegEx,
                                                     boolean Trim,
                                                     boolean RemoveEmpties)
        Splits a string based on separator regex using the standard String.split() method. Implements a null-or-empty check on Str and returns null if true. Additionally, calls trim() on all results if Trim is true, and removes empties from the final result if RemoveEmpties is true.
        Parameters:
        Str -
        SeparatorRegEx -
        Trim -
        RemoveEmpties -
        Returns:
      • split

        public static final java.lang.String[] split​(java.lang.String str,
                                                     java.lang.String separatorRegEx)
        Splits a string based on separator regex using the standard String.split() method. Implements a null-or-empty check on Str and returns null if true.
        Parameters:
        Str -
        SeparatorRegEx -
        Returns:
      • print

        public static final java.lang.String print​(java.util.List<?> L,
                                                   java.lang.String separator)
      • starEqual

        public static final boolean starEqual​(java.lang.String lhs,
                                              java.lang.String rhs)
        Allows for rhs to start and/or end with a '*' character for a partial equal against lhs
        Parameters:
        lhs - a string that must not be null.
        rhs - a string that may be null (method will return false)
        Returns:
        true if there is a match.
      • starEqualIgnoreCase

        public static final boolean starEqualIgnoreCase​(java.lang.String lhs,
                                                        java.lang.String rhs)
      • semiMask

        public static final java.lang.String semiMask​(java.lang.String Str)
        This is an expensive function, so cache results please
        Parameters:
        Str -
        Returns:
      • capitalizeEachWord

        public static final java.lang.String capitalizeEachWord​(java.lang.String Str)
      • standardizeFullName

        public static final java.lang.String standardizeFullName​(java.lang.String Title,
                                                                 java.lang.String Last,
                                                                 java.lang.String First,
                                                                 java.lang.String Middle)
        Returns a standardized name string as "[title] UPPER([last]), CAPITALIZED([first]) UPPER(FIRST_CHAR([middle])).". If both [last] and [first] are null or empty, a null string is returned. If one of them is null or empty, the output is adapted as necessary, i.e., "[title] CAPITALIZED([first]) UPPER(FIRST_CHAR([middle]))." or "[title]
        Parameters:
        Title -
        Last -
        First -
        Middle -
        Returns:
      • maskName

        public static final java.lang.String maskName​(java.lang.String Last,
                                                      java.lang.String First,
                                                      long RefNum)
      • maskName

        public static final java.lang.String maskName​(java.lang.String StandardFullName,
                                                      long RefNum)
      • capitalizeFirstCharacter

        public static final java.lang.String capitalizeFirstCharacter​(java.lang.String Str)
      • normalCapitalization

        public static final java.lang.String normalCapitalization​(java.lang.String Str)
      • listPrint

        public static final void listPrint​(java.lang.StringBuilder Str,
                                           java.lang.String Sep,
                                           java.lang.String Val)
      • sortDoubleDimensionArray

        public static final void sortDoubleDimensionArray​(java.lang.String[][] StrArr)
      • sortAndConcatenateStringArray

        public static final java.lang.String sortAndConcatenateStringArray​(java.lang.String[] StrArray,
                                                                           java.lang.String Separator)
      • removeTokenFromArray

        public static final java.lang.String removeTokenFromArray​(java.lang.String[] Source,
                                                                  java.lang.String DeleteToken)
      • toLettersAndDigits

        public static final java.lang.String toLettersAndDigits​(java.lang.String Str)
      • printSQLIn

        public static final java.lang.String printSQLIn​(java.lang.String Start,
                                                        java.lang.String CommaSeparatedList,
                                                        java.lang.String End)
      • printSQLIn

        public static final boolean printSQLIn​(java.lang.StringBuilder Str,
                                               java.lang.String Start,
                                               java.lang.String CommaSeparatedList,
                                               java.lang.String End)
      • printSQLLike

        public static final java.lang.String printSQLLike​(java.lang.String Start,
                                                          java.lang.String ColumnName,
                                                          java.lang.String CommaSeparatedList,
                                                          java.lang.String BooleanOperator)
      • printSQLLike

        public static final boolean printSQLLike​(java.lang.StringBuilder Str,
                                                 java.lang.String Start,
                                                 java.lang.String ColumnName,
                                                 java.lang.String CommaSeparatedList,
                                                 java.lang.String BooleanOperator)
      • asNonBreakingHTML

        public static final java.lang.String asNonBreakingHTML​(java.lang.String str)
      • toBoolean

        public static final boolean toBoolean​(java.lang.String val)
      • escapeForRegex

        public static final java.lang.String escapeForRegex​(java.lang.String s)
      • crudeStringValidation

        public static final boolean crudeStringValidation​(java.lang.String Str,
                                                          char Delimiter,
                                                          char Escape)
      • toMaxLength

        public static final java.lang.String toMaxLength​(java.lang.String Str,
                                                         int MaxLen)
        Truncates the string and adds "..." if it is bigger than MaxLen
      • printVariableStr

        public static final java.lang.String printVariableStr​(java.lang.String Value)
      • printVariableStr

        public static final java.lang.String printVariableStr​(java.lang.String Value,
                                                              int MaxLen)
      • trim

        public static java.lang.String trim​(java.lang.String Str)
      • joinTrim

        public static java.lang.String joinTrim​(java.lang.String[] A,
                                                java.lang.String Separator)
      • partsSqlLike

        public static java.lang.String[] partsSqlLike​(java.lang.String Val,
                                                      java.lang.String splitRegex,
                                                      boolean lowerCase)
        Takes a string with a regex-based separator (e.g., \s+) and turns it into an array of '%token%'. So 'a, b, c' with '(\s*,\s*)|\s+' will return ['%a%','%b%','%c%]
        Parameters:
        Val -
        splitRegex -
        lowerCase -
        Returns:
      • printJsonQuotedStringValue

        public static java.lang.String printJsonQuotedStringValue​(java.lang.String v)
      • partsSqlLike

        public static void partsSqlLike​(java.lang.String[] parts)
        Takes a string array and changes the array values to be sql likes, i.e., '%'+parts[i]+'%'
        Parameters:
        parts -
      • mask

        public static <T> java.util.Iterator<T> mask​(java.util.Iterator<T> I,
                                                     T val)
        Returns a new Iterator on a list where all incoming values have been replaced by the mask
        Type Parameters:
        T -
        Parameters:
        I -
        val -
        Returns:
      • mask

        public static <T> T[] mask​(T[] A,
                                   T val)