Stellent
HowToComponents
JavaDoc

intradoc.common
Class StringUtils

java.lang.Object
  |
  +--intradoc.common.StringUtils

public class StringUtils
extends java.lang.Object


Field Summary
static int F_ERROR
           
static int F_EXCEPTION_THROWN
           
static int F_FOUND_FFFD
           
static int F_KEEP_GOING
           
static int F_STOP_ON_FFFD
           
static int F_TRACE
           
static int F_USE_DEFAULTS
           
static int F_WATCH_FOR_FFFD
           
static int[] m_cp850TranslationRange
           
static char[] m_fromCP850TranslationMap
           
static boolean m_isDefaultFullXmlEncodeMode
           
static char[] m_toCP850TranslationMap
           
static java.util.Properties m_xmlStringMap
          Hashtable of xml excaped strings
static java.lang.String QUERY_UNRESERVED_CHARS
           
static java.lang.String[][] XML_ESCAPES
           
 
Constructor Summary
StringUtils()
           
 
Method Summary
static java.lang.String addEscapeChars(java.lang.String str, char sep, char esc)
           
static java.lang.StringBuffer appendHexString(byte b, java.lang.StringBuffer buf)
           
static void checkXmlDecodeInit()
           
static int convertByteArray(java.lang.StringBuffer buf, byte[] bytes, int offset, int length, java.lang.String encoding, int flags)
          Construct a new String by converting the specified array of bytes using the specified encoding.
static void convertFromCP850(char[] tmp, int start, int len)
           
static java.lang.String[] convertToArray(java.util.Vector strs)
           
static boolean convertToBool(java.lang.String str, boolean defVal)
           
static void convertToCP850(char[] tmp, int start, int len)
           
static java.lang.String convertToString(java.util.Properties props)
           
static java.util.Vector convertToVector(java.lang.String[] strs)
           
static java.lang.String createErrorStringForBrowser(java.lang.String msg)
          Used to prep for display in a browser.
static java.lang.String createQuotableString(java.lang.String str)
           
static java.lang.String createReportProgressString(int type, java.lang.String msg, float amtDone, float max)
           
static java.lang.String createString(java.util.Vector strArray, char sep, char esc)
          This function is the reverse of the function 'parseArray'.
static java.lang.String createStringEx(java.util.Vector strArray, char sep, char esc, boolean skipEmpty)
           
static java.lang.String createStringRemoveEmpty(java.util.Vector strArray, char sep, char esc)
          This function works the same as 'createString', except that it doesn't add any empty elements in 'strArray' to the String list.
static java.lang.String decodeHttpHeaderStyle(java.lang.String byteString)
          This method decodes a url-encoded request.
static java.lang.String decodeJavascriptFilename(java.lang.String arg)
           
static java.lang.String decodeLiteralStringEscapeSequence(java.lang.String str)
           
static char decodeXmlEscapeCharacter(char[] array, int offset, int len)
           
static java.lang.String decodeXmlEscapeSequence(char[] array, int offset, int len)
           
static java.lang.String encodeHttpHeaderStyle(java.lang.String str, boolean usePluses)
          This is a variant of encodeUrlStyle but it converts the string to UTF-8 before encoding it.
static java.lang.String encodeJavascriptFilename(java.lang.String arg)
          Encode a filename in a way that's safe to use as a Javascript string literal and as a filename.
static java.lang.String encodeJavascriptString(java.lang.String arg)
          Encode a string in a way that's friendly for Javascript.
static java.lang.String encodeLiteralStringEscapeSequence(java.lang.String str)
           
static java.lang.String encodeUrlStyle(java.lang.String str, char escapeChar, boolean usePluses)
           
static java.lang.String encodeUrlStyle(java.lang.String str, char escapeChar, boolean usePluses, java.lang.String encodingMode, java.lang.String encoding)
           
static java.lang.String encodeXmlEscapeSequence(java.lang.String input)
           
static java.lang.String encodeXmlEscapeSequence(java.lang.String input, java.lang.String encodingMode)
           
static java.lang.StringBuffer escapeChars(char[] src, java.lang.String[][] escapeCharMap)
           
static java.lang.String findString(java.lang.String[][] map, java.lang.String key, int lookupIndex, int returnIndex)
           
static int findStringIndex(java.lang.String[] list, java.lang.String key)
           
static int findStringIndexEx(java.lang.String[] list, java.lang.String key, boolean ignoreCase)
           
static byte[] getAsClientBytes(java.lang.String str)
          This method casts each character in the string to byte.
static byte[] getBytes(java.lang.String str, java.lang.String encoding)
          Convert the string into bytes according to the specified character encoding, storing the result into a new byte array.
static byte getHexValue(byte c)
           
static java.lang.String getInternalString(java.lang.String[][] map, java.lang.String presentationStr)
           
static boolean getIsDefaultFullXmlEncodeMode()
           
static java.lang.String getPresentationString(java.lang.String[][] map, java.lang.String internalStr)
           
static java.lang.String getString(byte[] bytes, int offset, int length, java.lang.String encoding)
          Construct a new String by converting the specified array of bytes using the specified character encoding.
static java.lang.String getString(byte[] bytes, java.lang.String encoding)
          Construct a new String by converting the specified array of bytes using the specified character encoding.
static boolean isSafeHtml(java.lang.String str)
          Checks a string to make sure it contains no dangerous HTML tags, like 'script'.
static boolean match(java.lang.String string, java.lang.String pattern, boolean allChoices)
          Looks for a case-sensitive wildcard match with matchEx()
static boolean matchChars(java.lang.String string, java.lang.String pattern, boolean allChoices, boolean ignoreCase, char manyChar, char oneChar)
          Looks for a wildcard match.
static boolean matchEx(java.lang.String string, java.lang.String pattern, boolean allChoices, boolean ignoreCase)
          Looks for a wildcard match.
static java.util.Vector parseArray(java.lang.String str, char sep, char esc)
           
static java.util.Vector parseArrayEx(java.lang.String str, char sep, char esc, boolean isDoTrim)
           
static void parseProperties(java.util.Properties props, java.lang.String input)
           
static java.lang.String removeEscapeChars(java.lang.String str, char sep, char esc)
           
static java.lang.String removeSubstringKey(java.lang.String str, java.lang.String key, java.lang.String optKey)
          This method strips out a substring plus any characters that were used to joing the string with its mates.
static java.lang.String removeWhitespace(java.lang.String str)
          Removes all whitespace from a string.
static java.lang.String replaceCRLF(java.lang.String value)
           
static void setIsDefaultFullXmlEncodeMode(boolean isDefaultFullXmlEncodeMode)
           
static java.lang.String toStringRaw(byte[] byteArray)
          This method casts each byte int the byte array to charcter.
static java.lang.String toStringRaw(byte[] byteArray, int offset, int length)
          This method casts each byte int the byte array to charcter.
static java.lang.String urlEncode(java.lang.String str)
           
static java.lang.String urlEncodeEx(java.lang.String str, boolean usePluses)
           
static java.lang.String urlEncodeEx(java.lang.String str, boolean usePluses, java.lang.String encodingMode, java.lang.String encoding)
           
static java.lang.String urlEscape7Bit(java.lang.String input, char escapeChar, java.lang.String encoding)
          Escapes only characters that are not 7-bit clean into their URL equivalents.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_xmlStringMap

public static java.util.Properties m_xmlStringMap
Hashtable of xml excaped strings


XML_ESCAPES

public static final java.lang.String[][] XML_ESCAPES

m_isDefaultFullXmlEncodeMode

public static boolean m_isDefaultFullXmlEncodeMode

F_TRACE

public static final int F_TRACE
See Also:
Constant Field Values

F_ERROR

public static final int F_ERROR
See Also:
Constant Field Values

F_WATCH_FOR_FFFD

public static final int F_WATCH_FOR_FFFD
See Also:
Constant Field Values

F_STOP_ON_FFFD

public static final int F_STOP_ON_FFFD
See Also:
Constant Field Values

F_KEEP_GOING

public static final int F_KEEP_GOING
See Also:
Constant Field Values

F_USE_DEFAULTS

public static final int F_USE_DEFAULTS
See Also:
Constant Field Values

F_FOUND_FFFD

public static final int F_FOUND_FFFD
See Also:
Constant Field Values

F_EXCEPTION_THROWN

public static final int F_EXCEPTION_THROWN
See Also:
Constant Field Values

QUERY_UNRESERVED_CHARS

public static final java.lang.String QUERY_UNRESERVED_CHARS
See Also:
Constant Field Values

m_cp850TranslationRange

public static final int[] m_cp850TranslationRange

m_toCP850TranslationMap

public static final char[] m_toCP850TranslationMap

m_fromCP850TranslationMap

public static final char[] m_fromCP850TranslationMap
Constructor Detail

StringUtils

public StringUtils()
Method Detail

parseArrayEx

public static java.util.Vector parseArrayEx(java.lang.String str,
                                            char sep,
                                            char esc,
                                            boolean isDoTrim)

parseArray

public static java.util.Vector parseArray(java.lang.String str,
                                          char sep,
                                          char esc)

removeEscapeChars

public static java.lang.String removeEscapeChars(java.lang.String str,
                                                 char sep,
                                                 char esc)

createString

public static java.lang.String createString(java.util.Vector strArray,
                                            char sep,
                                            char esc)
This function is the reverse of the function 'parseArray'.


createStringRemoveEmpty

public static java.lang.String createStringRemoveEmpty(java.util.Vector strArray,
                                                       char sep,
                                                       char esc)
This function works the same as 'createString', except that it doesn't add any empty elements in 'strArray' to the String list.


createStringEx

public static java.lang.String createStringEx(java.util.Vector strArray,
                                              char sep,
                                              char esc,
                                              boolean skipEmpty)

addEscapeChars

public static java.lang.String addEscapeChars(java.lang.String str,
                                              char sep,
                                              char esc)

replaceCRLF

public static java.lang.String replaceCRLF(java.lang.String value)

setIsDefaultFullXmlEncodeMode

public static void setIsDefaultFullXmlEncodeMode(boolean isDefaultFullXmlEncodeMode)

getIsDefaultFullXmlEncodeMode

public static boolean getIsDefaultFullXmlEncodeMode()

urlEncode

public static java.lang.String urlEncode(java.lang.String str)

urlEncodeEx

public static java.lang.String urlEncodeEx(java.lang.String str,
                                           boolean usePluses)

urlEncodeEx

public static java.lang.String urlEncodeEx(java.lang.String str,
                                           boolean usePluses,
                                           java.lang.String encodingMode,
                                           java.lang.String encoding)

encodeUrlStyle

public static java.lang.String encodeUrlStyle(java.lang.String str,
                                              char escapeChar,
                                              boolean usePluses)

encodeUrlStyle

public static java.lang.String encodeUrlStyle(java.lang.String str,
                                              char escapeChar,
                                              boolean usePluses,
                                              java.lang.String encodingMode,
                                              java.lang.String encoding)

urlEscape7Bit

public static java.lang.String urlEscape7Bit(java.lang.String input,
                                             char escapeChar,
                                             java.lang.String encoding)
Escapes only characters that are not 7-bit clean into their URL equivalents. Also escape single and double quotes becuase of issues with Adobe reader. This can be called multiple times on the same string with no adverse effects.


encodeHttpHeaderStyle

public static java.lang.String encodeHttpHeaderStyle(java.lang.String str,
                                                     boolean usePluses)
This is a variant of encodeUrlStyle but it converts the string to UTF-8 before encoding it. This should get moved into encodeUrlStyleEx() someday soon. Note: this version of encoding lets through a lot more characters unencoded then the other encoding because it is not trying to create a string that would make a good URL segment.


decodeHttpHeaderStyle

public static java.lang.String decodeHttpHeaderStyle(java.lang.String byteString)
                                              throws java.io.CharConversionException
This method decodes a url-encoded request. It follows what appears to be the recommended conventions of the web: 1. If any byte is > 127, use the native encoding for the system. 2. If any %xx encoded byte is > 127, try to treat the decoded bytes as UTF-8. If UTF-8 fails, use the native encoding for the system. 3. Otherwise, it should be 7-bit clean.

Parameters:
byteString - The bytes from the URL. They should all be bytes, so they should be 8-bit clean. The code is this method is probably buried in higher-level functionality elsewhere, especially in DataBinderSerializer. That other code should probably use this implementation (when it is revised to control the UTF-8 style logic).
java.io.CharConversionException

getHexValue

public static byte getHexValue(byte c)

appendHexString

public static java.lang.StringBuffer appendHexString(byte b,
                                                     java.lang.StringBuffer buf)

encodeLiteralStringEscapeSequence

public static java.lang.String encodeLiteralStringEscapeSequence(java.lang.String str)

decodeLiteralStringEscapeSequence

public static java.lang.String decodeLiteralStringEscapeSequence(java.lang.String str)

checkXmlDecodeInit

public static void checkXmlDecodeInit()

encodeXmlEscapeSequence

public static java.lang.String encodeXmlEscapeSequence(java.lang.String input)

encodeXmlEscapeSequence

public static java.lang.String encodeXmlEscapeSequence(java.lang.String input,
                                                       java.lang.String encodingMode)

decodeXmlEscapeSequence

public static java.lang.String decodeXmlEscapeSequence(char[] array,
                                                       int offset,
                                                       int len)

decodeXmlEscapeCharacter

public static char decodeXmlEscapeCharacter(char[] array,
                                            int offset,
                                            int len)

createErrorStringForBrowser

public static java.lang.String createErrorStringForBrowser(java.lang.String msg)
Used to prep for display in a browser. Converts '<', '>' and carriage returns so that error messages won't corrupt browser display.


createQuotableString

public static java.lang.String createQuotableString(java.lang.String str)

removeWhitespace

public static java.lang.String removeWhitespace(java.lang.String str)
Removes all whitespace from a string.


convertToCP850

public static void convertToCP850(char[] tmp,
                                  int start,
                                  int len)

convertFromCP850

public static void convertFromCP850(char[] tmp,
                                    int start,
                                    int len)

findString

public static java.lang.String findString(java.lang.String[][] map,
                                          java.lang.String key,
                                          int lookupIndex,
                                          int returnIndex)

getPresentationString

public static java.lang.String getPresentationString(java.lang.String[][] map,
                                                     java.lang.String internalStr)

getInternalString

public static java.lang.String getInternalString(java.lang.String[][] map,
                                                 java.lang.String presentationStr)

convertToBool

public static boolean convertToBool(java.lang.String str,
                                    boolean defVal)

parseProperties

public static void parseProperties(java.util.Properties props,
                                   java.lang.String input)

convertToString

public static java.lang.String convertToString(java.util.Properties props)

convertToArray

public static java.lang.String[] convertToArray(java.util.Vector strs)

convertToVector

public static java.util.Vector convertToVector(java.lang.String[] strs)

createReportProgressString

public static java.lang.String createReportProgressString(int type,
                                                          java.lang.String msg,
                                                          float amtDone,
                                                          float max)

findStringIndex

public static int findStringIndex(java.lang.String[] list,
                                  java.lang.String key)

findStringIndexEx

public static int findStringIndexEx(java.lang.String[] list,
                                    java.lang.String key,
                                    boolean ignoreCase)

match

public static boolean match(java.lang.String string,
                            java.lang.String pattern,
                            boolean allChoices)
Looks for a case-sensitive wildcard match with matchEx()


matchEx

public static boolean matchEx(java.lang.String string,
                              java.lang.String pattern,
                              boolean allChoices,
                              boolean ignoreCase)
Looks for a wildcard match.

Parameters:
string - The string to be tested.
pattern - The wildcard pattern of interest.
allChoices - TRUE if the operator '|' is also used.
ignoreCase - Perform a case insensitive pattern match.

matchChars

public static boolean matchChars(java.lang.String string,
                                 java.lang.String pattern,
                                 boolean allChoices,
                                 boolean ignoreCase,
                                 char manyChar,
                                 char oneChar)
Looks for a wildcard match.

Parameters:
string - The string to be tested.
pattern - The wildcard pattern of interest.
allChoices - TRUE if the operator '|' is also used.
ignoreCase - Perform a case insensitive pattern match.
manyChar - Wild card used to specify none, one or more characters
oneChar - Wild card to specify exactly one character.

getAsClientBytes

public static byte[] getAsClientBytes(java.lang.String str)
This method casts each character in the string to byte. This method is used for preserving data from character to byte conversion.

Parameters:
str - The string to be casted.

toStringRaw

public static java.lang.String toStringRaw(byte[] byteArray)
This method casts each byte int the byte array to charcter. This method is used for preserving data from byte to character conversion.


toStringRaw

public static java.lang.String toStringRaw(byte[] byteArray,
                                           int offset,
                                           int length)
This method casts each byte int the byte array to charcter. This method is used for preserving data from byte to character conversion.

Parameters:
offset - Index of the first byte to convert
length - Number of bytes to convert

getBytes

public static byte[] getBytes(java.lang.String str,
                              java.lang.String encoding)
                       throws java.io.UnsupportedEncodingException
Convert the string into bytes according to the specified character encoding, storing the result into a new byte array.

Parameters:
str - String to be converted and copied to byte array.
encoding - A character-encoding name. If encoding parameter is null, it will use the platform's default character encoding.
java.io.UnsupportedEncodingException

getString

public static java.lang.String getString(byte[] bytes,
                                         java.lang.String encoding)
                                  throws java.io.UnsupportedEncodingException,
                                         java.io.CharConversionException
Construct a new String by converting the specified array of bytes using the specified character encoding.

Parameters:
bytes - The bytes to be converted into characters
encoding - A character-encoding name. If encoding parameter is null, it will use the platform's default character encoding.
java.io.UnsupportedEncodingException
java.io.CharConversionException

getString

public static java.lang.String getString(byte[] bytes,
                                         int offset,
                                         int length,
                                         java.lang.String encoding)
                                  throws java.io.UnsupportedEncodingException,
                                         java.io.CharConversionException
Construct a new String by converting the specified array of bytes using the specified character encoding.

Parameters:
bytes - The bytes to be converted into characters
offset - Index of the first byte to convert
length - Number of bytes to convert
encoding - A character-encoding name. If encoding parameter is null, it will use the platform's default character encoding.
java.io.UnsupportedEncodingException
java.io.CharConversionException
See Also:
convertByteArray()

convertByteArray

public static int convertByteArray(java.lang.StringBuffer buf,
                                   byte[] bytes,
                                   int offset,
                                   int length,
                                   java.lang.String encoding,
                                   int flags)
                            throws java.io.UnsupportedEncodingException,
                                   java.io.CharConversionException
Construct a new String by converting the specified array of bytes using the specified encoding.

Parameters:
bytes - The bytes to be converted into characters
offset - Index of the first byte to convert
length - Number of bytes to convert
encoding - A character-encoding name. If encoding parameter is null, it will use the platform's default character encoding.
flags - The flags for the conversion process.
java.io.UnsupportedEncodingException
java.io.CharConversionException

escapeChars

public static java.lang.StringBuffer escapeChars(char[] src,
                                                 java.lang.String[][] escapeCharMap)

encodeJavascriptString

public static java.lang.String encodeJavascriptString(java.lang.String arg)
Encode a string in a way that's friendly for Javascript. This is not a very efficient encoding of things, but there apparently aren't any good alternatives.


encodeJavascriptFilename

public static java.lang.String encodeJavascriptFilename(java.lang.String arg)
Encode a filename in a way that's safe to use as a Javascript string literal and as a filename. This converts non-ASCII characters, these special symbols /\':@# and anything under ASCII 32 into an at (@) followed by the value of the charater as four hexadecimal digits.


decodeJavascriptFilename

public static java.lang.String decodeJavascriptFilename(java.lang.String arg)
                                                 throws java.io.CharConversionException
java.io.CharConversionException

isSafeHtml

public static boolean isSafeHtml(java.lang.String str)
                          throws java.io.IOException,
                                 ParseSyntaxException,
                                 ServiceException
Checks a string to make sure it contains no dangerous HTML tags, like 'script'. It does not check for well-defined HTML, however. So an open TABLE tag can still mess up page display.

Parameters:
str -
Throws:
java.io.IOException
ParseSyntaxException
ServiceException

removeSubstringKey

public static java.lang.String removeSubstringKey(java.lang.String str,
                                                  java.lang.String key,
                                                  java.lang.String optKey)
This method strips out a substring plus any characters that were used to joing the string with its mates. If this leaves string in a bad state then an optional additional parameter can be used to replace the key instead of removing it.

Parameters:
str - String to have key removed
key - Substring to remove plus any non ascii character except for /.
optKey - If removing substring leaves a / with either no characters in front or in back, then optKey will be put in for key.


(c) 1996-2005  All rights reserved.  Stellent, Inc.