org.apache.tools.ant.util
Class StringUtils

java.lang.Object
  extended by org.apache.tools.ant.util.StringUtils

public final class StringUtils
extends java.lang.Object

A set of helper methods related to string manipulation.


Field Summary
static java.lang.String LINE_SEP
          the line separator for this OS
 
Method Summary
static boolean endsWith(java.lang.StringBuffer buffer, java.lang.String suffix)
          Checks that a string buffer ends up with a given string.
static java.lang.String getStackTrace(java.lang.Throwable t)
          Convenient method to retrieve the full stacktrace from a given exception.
static java.util.Vector lineSplit(java.lang.String data)
          Splits up a string into a list of lines.
static long parseHumanSizes(java.lang.String humanSize)
          Takes a human readable size representation eg 10K a long value.
static java.lang.String replace(java.lang.String data, java.lang.String from, java.lang.String to)
          Replace occurrences into a string.
static java.lang.String resolveBackSlash(java.lang.String input)
          xml does not do "c" like interpretation of strings.
static java.util.Vector split(java.lang.String data, int ch)
          Splits up a string where elements are separated by a specific character and return all elements.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LINE_SEP

public static final java.lang.String LINE_SEP
the line separator for this OS

Method Detail

lineSplit

public static java.util.Vector lineSplit(java.lang.String data)
Splits up a string into a list of lines. It is equivalent to split(data, '\n').

Parameters:
data - the string to split up into lines.
Returns:
the list of lines available in the string.

split

public static java.util.Vector split(java.lang.String data,
                                     int ch)
Splits up a string where elements are separated by a specific character and return all elements.

Parameters:
data - the string to split up.
ch - the separator character.
Returns:
the list of elements.

replace

public static java.lang.String replace(java.lang.String data,
                                       java.lang.String from,
                                       java.lang.String to)
Replace occurrences into a string.

Parameters:
data - the string to replace occurrences into
from - the occurrence to replace.
to - the occurrence to be used as a replacement.
Returns:
the new string with replaced occurrences.

getStackTrace

public static java.lang.String getStackTrace(java.lang.Throwable t)
Convenient method to retrieve the full stacktrace from a given exception.

Parameters:
t - the exception to get the stacktrace from.
Returns:
the stacktrace from the given exception.

endsWith

public static boolean endsWith(java.lang.StringBuffer buffer,
                               java.lang.String suffix)
Checks that a string buffer ends up with a given string. It may sound trivial with the existing JDK API but the various implementation among JDKs can make those methods extremely resource intensive and perform poorly due to massive memory allocation and copying. See

Parameters:
buffer - the buffer to perform the check on
suffix - the suffix
Returns:
true if the character sequence represented by the argument is a suffix of the character sequence represented by the StringBuffer object; false otherwise. Note that the result will be true if the argument is the empty string.

resolveBackSlash

public static java.lang.String resolveBackSlash(java.lang.String input)
xml does not do "c" like interpretation of strings. i.e. \n\r\t etc. this method processes \n, \r, \t, \f, \\ also subs \s -> " \n\r\t\f" a trailing '\' will be ignored

Parameters:
input - raw string with possible embedded '\'s
Returns:
converted string
Since:
Ant 1.7

parseHumanSizes

public static long parseHumanSizes(java.lang.String humanSize)
                            throws java.lang.Exception
Takes a human readable size representation eg 10K a long value. Doesn't support 1.1K or other rational values.

Parameters:
humanSize -
Returns:
a long value representation
Throws:
java.lang.Exception
Since:
Ant 1.7