Class TextUtil
- java.lang.Object
-
- tilda.utils.TextUtil
-
public class TextUtil extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ACCENTEDCHARS
protected static java.util.regex.Pattern
HTML_NEWLINE_PATTERN
protected static java.util.regex.Pattern
HTML_TAG_PATTERN
protected static org.apache.logging.log4j.Logger
LOG
protected static java.util.regex.Pattern
RTF_CELL_PATTERN
protected static java.lang.String[][]
WEBSPECIALCHARS
-
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 quotesstatic 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 asescapeXML(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 < and > & is escaped to & " and ' are escaped to " and 'static java.lang.String
escapeXML(java.lang.String Str)
Same asescapeXML(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 documentstatic 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 Strstatic 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 perCharacter.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 perisNullOrEmpty(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 perisNullOrEmpty(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 maskstatic <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 tosearchReplace(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 tosearchReplace(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 inString.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 pleasestatic 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 lhsstatic 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 MaxLenstatic java.lang.String
toShortDollarStr(double Value)
static java.lang.String
trim(java.lang.String Str)
static java.lang.String[]
unique(java.lang.String[] strings)
-
-
-
Field Detail
-
LOG
protected static final org.apache.logging.log4j.Logger LOG
-
ACCENTEDCHARS
public static final java.lang.String ACCENTEDCHARS
- See Also:
- Constant Field Values
-
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
-
-
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 quotesEscapes 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 tostr
- 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 stostrs
- An array of Stringsfirst
- 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 stochars
- An array of charfirst
- 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 perCharacter.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 perisNullOrEmpty(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 perisNullOrEmpty(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 inString.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 tosearchReplace(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 tosearchReplace(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 < and >
- & is escaped to &
- " and ' are escaped to " and '
- Parameters:
Out
-Str
-
-
escapeXML
public static final void escapeXML(java.io.PrintStream Out, java.lang.String Str)
Same asescapeXML(PrintWriter, String)
but with a PrintStream.- Parameters:
Out
-Str
-
-
escapeXML
public static final java.lang.String escapeXML(java.lang.String Str)
Same asescapeXML(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 passthroughHTML2TXT(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 documentnormalized
- 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)
-
-