org.knopflerfish.util
public class Text extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Text.AttributeTokenizer
Class for tokenize an attribute string.
|
Modifier and Type | Field and Description |
---|---|
protected static char |
CITCHAR
Default citation char for splitwords().
|
protected static java.lang.String |
WHITESPACE
Default whitespace string for splitwords().
|
Constructor and Description |
---|
Text() |
Modifier and Type | Method and Description |
---|---|
static <E> int |
binarySearch(java.util.List<E> pl,
java.util.Comparator<E> c,
E p)
Do binary search for a package entry in the list with the same
version number add the specifies package entry.
|
static java.lang.String |
capitalize(java.lang.String s)
Make first (and only) character in string upper case.
|
static boolean |
containsIgnoreCase(java.util.List<java.lang.String> l,
java.util.List<java.lang.String> l2)
Check if a string exists in a list.
|
static java.lang.String |
formatJavaType(java.lang.String s,
java.lang.String[] prefixIgnore)
Format a java type in human readable way.
|
static java.lang.String |
getParam(java.lang.String s,
java.lang.String param,
java.lang.String def)
Retrieves a parameter value from a parameter string.
|
static java.lang.String |
join(java.lang.Object[] s,
java.lang.String sep)
Join an array into a single string with a given separator.
|
static java.util.Iterator<java.util.Map<java.lang.String,java.lang.Object>> |
parseEntries(java.lang.String a,
java.lang.String s,
boolean single,
boolean unique,
boolean single_entry)
Parse strings of format:
ENTRY (, ENTRY)*
ENTRY = key (; key)* (; PARAM)*
PARAM = attribute '=' value
PARAM = directive ':=' value
|
static java.util.ArrayList<java.lang.String> |
parseEnumeration(java.lang.String d,
java.lang.String s)
Parse strings of format:
ENTRY (, ENTRY)*
|
static java.lang.String |
replace(java.lang.String s,
java.lang.String v1,
boolean v2)
Utility method for replacing substrings with a boolean.
|
static java.lang.String |
replace(java.lang.String s,
java.lang.String v1,
int v2)
Utility method for replacing substrings with an integer.
|
static java.lang.String |
replace(java.lang.String s,
java.lang.String v1,
java.lang.String v2)
Replace all occurances of a substring with another string.
|
static java.lang.String[] |
split(java.lang.String s,
java.lang.String sep)
Splits a string into words, using the
StringTokenizer
class. |
static java.lang.String[] |
splitwords(java.lang.String s)
Utility method to split a string into words separated by whitespace.
|
static java.lang.String[] |
splitwords(java.lang.String s,
java.lang.String whiteSpace)
Utility method to split a string into words separated by whitespace.
|
static java.lang.String[] |
splitwords(java.lang.String s,
java.lang.String whiteSpace,
char citChar)
Split a string into words separated by whitespace.
|
static java.lang.Object[] |
toArray(java.util.Vector<java.lang.Object> v) |
static java.lang.String |
untabify(java.lang.String s,
int tabSize)
Expand all tabs in a string.
|
protected static java.lang.String WHITESPACE
protected static char CITCHAR
public static java.lang.String getParam(java.lang.String s, java.lang.String param, java.lang.String def)
s
- Parameter string, format
'<param1>=data1::<param2>=data2'param
- Parameter to retrieve.def
- Default value to return, if the parameter is not found.public static java.lang.String replace(java.lang.String s, java.lang.String v1, java.lang.String v2)
The returned string will shrink or grow as necessary, depending on the lengths of v1 and v2.
Implementation note: This method avoids using the standard String manipulation methods to increase execution speed. Using the replace method does however include two new operations in the case when matches are found.
s
- Source string.v1
- String to be replaced with v2
.v2
- String replacing v1
.public static java.lang.String replace(java.lang.String s, java.lang.String v1, int v2)
Equivalent to replace(s, v1, Integer.toString(v2))
public static java.lang.String replace(java.lang.String s, java.lang.String v1, boolean v2)
Equivalent to replace(s, v1, v2 ? "true" : "false")
public static java.lang.String untabify(java.lang.String s, int tabSize)
tabSize
.s
- String to untabify.tabSize
- Tab stop interval.public static java.lang.String formatJavaType(java.lang.String s, java.lang.String[] prefixIgnore)
s
- Type string to format.prefixIgnore
- Prefix strings to ignore in output.public static java.lang.String capitalize(java.lang.String s)
s
- String to capitalize.public static java.lang.String[] splitwords(java.lang.String s)
Equivalent to splitwords(s, Text.WHITESPACE)
public static java.lang.String[] splitwords(java.lang.String s, java.lang.String whiteSpace)
Equivalent to splitwords(s, Text.WHITESPACE, Text.CITCHAR)
public static java.lang.String[] splitwords(java.lang.String s, java.lang.String whiteSpace, char citChar)
Citation chars may be used to group words with embedded whitespace.
s
- String to split.whiteSpace
- whitespace to use for splitting. Any of the characters in the
whiteSpace string are considered whitespace between words and
will be removed from the result. If no words are found, return
an array of length zero.citChar
- Citation character used for grouping words with embedded
whitespace. Typically '"'public static java.lang.String[] split(java.lang.String s, java.lang.String sep)
StringTokenizer
class.public static java.lang.String join(java.lang.Object[] s, java.lang.String sep)
public static java.lang.Object[] toArray(java.util.Vector<java.lang.Object> v)
public static java.util.ArrayList<java.lang.String> parseEnumeration(java.lang.String d, java.lang.String s)
d
- Directive being parseds
- String to parsejava.lang.IllegalArgumentException
- If syntax error in input string.public static <E> int binarySearch(java.util.List<E> pl, java.util.Comparator<E> c, E p)
pl
- Sorted list of package entries to search.c
- Comparator.p
- Package entry to search for.public static java.util.Iterator<java.util.Map<java.lang.String,java.lang.Object>> parseEntries(java.lang.String a, java.lang.String s, boolean single, boolean unique, boolean single_entry)
a
- Attribute being parsed, the sole purpose of this param seems to be
to spread confusion...s
- String to parsesingle
- If true, only allow one key per ENTRYunique
- Only allow unique parameters for each ENTRY.single_entry
- If true, only allow one ENTRY is allowed.java.lang.IllegalArgumentException
- If syntax error in input string.public static boolean containsIgnoreCase(java.util.List<java.lang.String> l, java.util.List<java.lang.String> l2)