|
xmlBlaster 2.2.0 client API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.xmlBlaster.util.StringPairTokenizer
public class StringPairTokenizer
StringPairTokenizer is a utility class used to parse a string giving
back a map containing pairs of key/value strings.
The method parseLine respects quoted '"' tokens and ignores the separator inside the quotes.
Field Summary | |
---|---|
static char |
DEFAULT_INNER_SEPARATOR
|
static char |
DEFAULT_QUOTE_CHARACTER
|
static char |
DEFAULT_SEPARATOR
|
static char |
ESCAPE_CHARACTER
|
Constructor Summary | |
---|---|
StringPairTokenizer()
|
Method Summary | |
---|---|
static java.lang.String |
arrayToCSV(java.lang.String[] strs,
java.lang.String sep)
|
static java.util.Map<java.lang.String,java.lang.String> |
CSVToMap(java.lang.String csv)
Counterpart to #mapToCSV(Map) Fails if key contains token "=" and fails if value contains token """ |
static java.util.Map<java.lang.String,java.lang.String> |
CSVToMap(java.lang.String csv,
char sep,
char apos,
char innerSeparator)
Counterpart to #mapToCSV(Map) Fails if key contains token "=" and fails if value contains token """ Fails if sep==';' and value contains a real token "%53" |
static java.lang.String |
dumpMap(java.util.Map<java.lang.String,ClientProperty> map)
Dumps the given map to a human readable string. |
static void |
main(java.lang.String[] args)
|
static java.lang.String |
mapToCSV(java.util.Map map)
Counterpart to #CSVToMap(String) |
static java.lang.String |
mapToCSV(java.util.Map map,
char sep,
char apos)
A '=' in the key is escaped with "=". |
static java.lang.String |
mapToCSV(java.util.Map map,
char sep,
char apos,
char innerSeparator)
|
static java.lang.String[] |
parseLine(java.lang.String nextLine)
|
static java.lang.String[] |
parseLine(java.lang.String[] nextLines,
char separator,
char quotechar,
boolean trimEmpty,
boolean preserveInsideQuoteChar)
Split string to tokens and respect quotes. |
static java.util.Map |
parseLine(java.lang.String[] nextLines,
char separator,
char quotechar,
char innerSeparator,
boolean trimEmpty,
boolean wantClientProperties,
boolean trimValue)
Split string to tokens and respect quotes, then parse key/values into the returned map. |
static java.lang.String[] |
parseLine(java.lang.String nextLine,
char separator)
|
static java.lang.String[] |
parseLine(java.lang.String nextLine,
char separator,
char quotechar,
boolean trimEmpty)
|
static java.lang.String[] |
parseLine(java.lang.String nextLine,
char separator,
char quotechar,
boolean trimEmpty,
boolean preserveInsideQuoteChar)
|
static java.util.Map |
parseLine(java.lang.String nextLine,
char separator,
char quotechar,
char innerSeparator,
boolean trimEmpty,
boolean wantClientProperties)
|
static java.util.Map |
parseLineToProperties(java.lang.String nextLine)
Parsing for example >org.xmlBlaster.protocol.soap.SoapDriver,"classpath=xerces.jar:soap.jar,all",MAXSIZE=100,a=10<. |
static java.util.Map<java.lang.String,ClientProperty> |
parseToStringClientPropertyPairs(java.lang.String rawString,
java.lang.String outerToken,
java.lang.String innerToken)
|
static java.util.Map |
parseToStringStringPairs(java.lang.String rawString,
java.lang.String outerToken,
java.lang.String innerToken)
|
static java.lang.String[] |
toArray(java.lang.String str,
java.lang.String separator)
Convert a separator based string to an array of strings. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final char DEFAULT_QUOTE_CHARACTER
public static final char ESCAPE_CHARACTER
public static final char DEFAULT_SEPARATOR
public static final char DEFAULT_INNER_SEPARATOR
Constructor Detail |
---|
public StringPairTokenizer()
Method Detail |
---|
public static java.lang.String[] parseLine(java.lang.String nextLine)
#parseLine(String[] nextLines, char separator, char quotechar, boolean trimEmpty)
public static java.lang.String[] parseLine(java.lang.String nextLine, char separator)
#parseLine(String[] nextLines, char separator, char quotechar, boolean trimEmpty)
public static java.lang.String[] parseLine(java.lang.String nextLine, char separator, char quotechar, boolean trimEmpty)
parseLine(String[] nextLines, char separator, char quotechar, boolean trimEmpty, boolean)
public static java.lang.String[] parseLine(java.lang.String nextLine, char separator, char quotechar, boolean trimEmpty, boolean preserveInsideQuoteChar)
parseLine(String[] nextLines, char separator, char quotechar, boolean trimEmpty, boolean)
public static java.lang.String[] parseLine(java.lang.String[] nextLines, char separator, char quotechar, boolean trimEmpty, boolean preserveInsideQuoteChar)
/node/heron/client/\"joe/the/great\" 'node' 'heron' 'client' 'joe/the/great'Thanks to http://opencsv.sourceforge.net/ (under Apache license)
nextLines
- An array of lines, followup lines will only be parsed if an open quotechar existsseparator
- Defaults to StringPairTokenizer.DEFAULT_SEPARATOR=','
Note: , is not escaped with , or similar, use "" to protect inside separatorsquotechar
- Defaults to StringPairTokenizer.DEFAULT_QUOTE_CHARACTER='"'trimEmpty
- if true removes silently empty tokenspreserveInsideQuoteChar
- true: Preserve the inside quotes of "bla, bla, "blu blu", bli"
public static java.util.Map parseLine(java.lang.String[] nextLines, char separator, char quotechar, char innerSeparator, boolean trimEmpty, boolean wantClientProperties, boolean trimValue)
nextLines
- e.g.
String[] nextLines = { "org.xmlBlaster.protocol.soap.SoapDriver,\"classpath=xerces.jar:soap.jar,all\",MAXSIZE=100,a=10,\"b=", "20\",c=30" };
Followup lines will only be parsed if an open quotechar existsinnerSeparator
- is for example StringPairTokenizer.DEFAULT_INNER_SEPARATOR "=" or " "wantClientProperties
- if set to true
returns pairs 'String,ClientProperty', returns 'String,String' pairs otherwise.trimValue
- If true the value is trimmed (removed white spaces in front and back)
classpath=xerces.jar:soap.jar,all org.xmlBlaster.protocol.soap.SoapDriver=null MAXSIZE=100 a=10 c=30 b=20
#parseLine(String[] nextLines, char separator, char quotechar, boolean trimEmpty)
public static java.util.Map parseLine(java.lang.String nextLine, char separator, char quotechar, char innerSeparator, boolean trimEmpty, boolean wantClientProperties)
parseLine(String[] nextLines, char separator, char quotechar, char innerSeparator, boolean trimEmpty, boolean wantClientProperties, boolean trimEmpty)
public static java.util.Map parseLineToProperties(java.lang.String nextLine)
Using default separator chars and quote chars:
return parseLine(nextLines, DEFAULT_SEPARATOR, DEFAULT_QUOTE_CHARACTER, DEFAULT_INNER_SEPARATOR, true, false, false);
parseLine(String[] nextLines, char separator, char quotechar, char innerSeparator, boolean trimEmpty, boolean wantClientProperties, boolean trimEmpty)
public static final java.lang.String[] toArray(java.lang.String str, java.lang.String separator)
key
- the key to look fordefaultVal
- The default value to return if key is not foundseparator
- The separator, typically ","
public static java.lang.String dumpMap(java.util.Map<java.lang.String,ClientProperty> map)
map
-
public static java.util.Map<java.lang.String,ClientProperty> parseToStringClientPropertyPairs(java.lang.String rawString, java.lang.String outerToken, java.lang.String innerToken)
rawString
- e.g. "org.xmlBlaster.protocol.soap.SoapDriver,classpath=xerces.jar:soap.jar,MAXSIZE=100"outerToken
- is for example ";" or ","innerToken
- is for example "=" or " "
If a value is missing then a null object as value.
the map returns pairs 'String,ClientProperty'.public static java.util.Map<java.lang.String,java.lang.String> CSVToMap(java.lang.String csv)
csv
-
public static java.util.Map<java.lang.String,java.lang.String> CSVToMap(java.lang.String csv, char sep, char apos, char innerSeparator)
csv
- sep
- Defaults to ","apos
- Only '"' or "'" is supported, defaults to '"'innerSeparator
- '='
public static java.lang.String mapToCSV(java.util.Map map)
map
-
public static java.lang.String mapToCSV(java.util.Map map, char sep, char apos)
map
- sep
- Defaults to ","apos
- Only '"' or "'" is supported, defaults to '"'
public static java.lang.String mapToCSV(java.util.Map map, char sep, char apos, char innerSeparator)
public static java.util.Map parseToStringStringPairs(java.lang.String rawString, java.lang.String outerToken, java.lang.String innerToken)
rawString
- e.g. "org.xmlBlaster.protocol.soap.SoapDriver,classpath=xerces.jar:soap.jar,MAXSIZE=100"outerToken
- is for example ";" or ","innterToken
- is for example "=" or " "
If a value is missing then a null object as value.
the map returns pairs 'String,String'.public static java.lang.String arrayToCSV(java.lang.String[] strs, java.lang.String sep)
public static void main(java.lang.String[] args)
|
xmlBlaster 2.2.0 client API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |