|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.zkoss.util.Maps
public class Maps
Utilities for process Map.
Constructor Summary | |
---|---|
Maps()
|
Method Summary | |
---|---|
static void |
load(java.util.Map<? super java.lang.String,? super java.lang.String> map,
java.io.InputStream sm)
Reads a property list (key and element pairs) from the input stream, by detecting correct charset. |
static void |
load(java.util.Map<? super java.lang.String,? super java.lang.String> map,
java.io.InputStream sm,
boolean caseInsensitive)
Reads a property list (key and element pairs) from the input stream, by detecting correct charset. |
static void |
load(java.util.Map<? super java.lang.String,? super java.lang.String> map,
java.io.InputStream sm,
java.lang.String charset)
Reads a property list (key and element pairs) from the input stream, by specifying the charset. |
static void |
load(java.util.Map<? super java.lang.String,? super java.lang.String> map,
java.io.InputStream sm,
java.lang.String charset,
boolean caseInsensitive)
Reads a property list (key and element pairs) from the input stream, by specifying the charset. |
static java.util.Map<? super java.lang.String,? super java.lang.String> |
parse(java.util.Map<? super java.lang.String,? super java.lang.String> map,
java.lang.String src,
char separator,
char quote)
Parses a string into a map. |
static java.util.Map<? super java.lang.String,? super java.lang.String> |
parse(java.util.Map<? super java.lang.String,? super java.lang.String> map,
java.lang.String src,
char separator,
char quote,
boolean asValue)
Parses a string into a map. |
static java.util.Map<? super java.lang.String,? super java.lang.String> |
parse(java.util.Map<? super java.lang.String,? super java.lang.String> map,
java.lang.String src,
char separator,
char quote,
boolean asValue,
boolean parenthesis)
Parse a string into a map. |
static java.util.Map |
parse(java.util.Map map,
java.lang.String src,
char separator,
char quote,
boolean asValue,
boolean multiple,
boolean parenthesis)
Deprecated. As of release 6.0.0, replaced with parse(Map, String, char, char, boolean, boolean) and
parseMultiple(java.util.Map super java.lang.String, java.util.Collection |
static java.util.Map<? super java.lang.String,java.util.Collection<java.lang.String>> |
parseMultiple(java.util.Map<? super java.lang.String,java.util.Collection<java.lang.String>> map,
java.lang.String src,
char separator,
char quote,
boolean asValue,
boolean parenthesis)
Parse a string into a map that allows multiple values. |
static java.lang.String |
toString(java.util.Map<? super java.lang.String,? super java.lang.String> map,
char quote,
char separator)
Converts a map to a string. |
static java.lang.StringBuffer |
toStringBuffer(java.lang.StringBuffer sb,
java.util.Map<? super java.lang.String,? super java.lang.String> map,
char quote,
char separator)
Converts a map to string and append to a string buffer. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Maps()
Method Detail |
---|
public static final void load(java.util.Map<? super java.lang.String,? super java.lang.String> map, java.io.InputStream sm, java.lang.String charset, boolean caseInsensitive) throws java.io.IOException
Like java.util.Properties, it translates \\u, \n, \r, \t and \f. However, it enhanced Properties as follows.
To spread a value over multiple lines, you could,
unlike java.util.Properties.load, append '{' to the end of a line.
Then, all the following lines are considered as part of a value,
unless encountering a line containing only one '}'.
Example:
abc = {
line 1
line 2
}
xyz = {
line 1
line 2
}
Moreover, you could prefix a group of keys with certain prefix:
org.zkoss.some. {
a = aaa
b = bbb
}
It actually defines two keys: "org.zkoss.some.a" and "org.zkoss.some.b".
Note: (1) whitespace in the {...} block are all preserved.
(2) if only whitespaces is between '=' and '{', they are ignored.
charset
- the charset; if null, it detects UTF-16 BOM (0xfe 0xff
or 0xff 0xfe). If no UTF-16 BOM, UTF-8 is always assumed.
Note 1: UTF-8's BOM (0xef 0xbb 0xbf) is optional, so we don't count on it.
Note 2: ISO-8859-1 is not used because we cannot tell its difference
from UTF-8 (while some of our properties files are in UTF-8).caseInsensitive
- whether the key used to access the map
is case-insensitive. If true, all keys are converted to lower cases.
java.io.IOException
public static final void load(java.util.Map<? super java.lang.String,? super java.lang.String> map, java.io.InputStream sm, java.lang.String charset) throws java.io.IOException
java.io.IOException
public static final void load(java.util.Map<? super java.lang.String,? super java.lang.String> map, java.io.InputStream sm, boolean caseInsensitive) throws java.io.IOException
caseInsensitive
- whether the key used to access the map
is case-insensitive. If true, all keys are converted to lower cases.
java.io.IOException
public static final void load(java.util.Map<? super java.lang.String,? super java.lang.String> map, java.io.InputStream sm) throws java.io.IOException
java.io.IOException
public static final java.util.Map<? super java.lang.String,? super java.lang.String> parse(java.util.Map<? super java.lang.String,? super java.lang.String> map, java.lang.String src, char separator, char quote) throws IllegalSyntaxException
parse(map, src, separator, quote, false, false, false);
IllegalSyntaxException
parse(Map, String, char, char, boolean, boolean)
,
parseMultiple(java.util.Map super java.lang.String, java.util.Collection>, java.lang.String, char, char, boolean, boolean)
public static final java.util.Map<? super java.lang.String,? super java.lang.String> parse(java.util.Map<? super java.lang.String,? super java.lang.String> map, java.lang.String src, char separator, char quote, boolean asValue) throws IllegalSyntaxException
parse(map, src, separator, quote, asValue, false, false);
IllegalSyntaxException
parse(Map, String, char, char, boolean, boolean)
,
parseMultiple(java.util.Map super java.lang.String, java.util.Collection>, java.lang.String, char, char, boolean, boolean)
public static final java.util.Map<? super java.lang.String,? super java.lang.String> parse(java.util.Map<? super java.lang.String,? super java.lang.String> map, java.lang.String src, char separator, char quote, boolean asValue, boolean parenthesis) throws IllegalSyntaxException
If = is omitted, whether it is considered as a key with the null value or a value with the null key depends on the asValue argument. If true, it is considered as a value with the null key.
For example, if the following string is parsed with asValue=false:
a12=12,b3,c6=abc=125,x=y
Then, a map with the following content is returned:
("a12", "12"), ("b3", null), ("c6", "abc=125"), ("x", "y")
Notice: only the first = after separator is meaningful, so you don't have to escape the following =.
Beside specifying the quote character, you could use backslash quote a single character (as Java does).
map
- the map to put parsed results to; null to create a
new hash map.src
- the string to parseseparator
- the separator, e.g., ' ' or ','.quote
- the quote character to surround the value.
Ignored if quote is (char)0.asValue
- whether to consider the substring without = as
a value (with the null key), or as a key (with the null value)
For example, a12 is considered as a key if asValue is false.
However, if you surround it with a quote, it is always considered
as a value. For example, 'a12' is considered as a value no matter
asValue is true or not.parenthesis
- whether to parse parenthesis in the value, {}, () and [].
If true, the separator is ignored inside the parenthesis.
Specify true if the value might contain EL expressions.
Note: it has no effect to the name.
IllegalSyntaxException
- if syntax errorsCollectionsX.parse(java.util.Collection, java.lang.String, char)
,
toString(Map, char, char)
public static final java.util.Map<? super java.lang.String,java.util.Collection<java.lang.String>> parseMultiple(java.util.Map<? super java.lang.String,java.util.Collection<java.lang.String>> map, java.lang.String src, char separator, char quote, boolean asValue, boolean parenthesis) throws IllegalSyntaxException
Unlike parse(java.util.Map super java.lang.String, ? super java.lang.String>, java.lang.String, char, char)
, it assumes there might be multiple values.
Thus, the value of the map is a collection of String instances.
For example, src is a1=x,a1=y, then
the value for a1 is a list with two values, "x" and "y".
If = is omitted, whether it is considered as a key with the null value or a value with the null key depends on the asValue argument. If true, it is considered as a value with the null key.
For example, if the following string is parsed with asValue=false:
a12=12,b3,c6=abc=125,x=y
Then, a map with the following content is returned:
("a12", "12"), ("b3", null), ("c6", "abc=125"), ("x", "y")
Notice: only the first = after separator is meaningful, so you don't have to escape the following =.
Beside specifying the quote character, you could use backslash quote a single character (as Java does).
map
- the map to put parsed results to; null to create a
new hash map.src
- the string to parseseparator
- the separator, e.g., ' ' or ','.quote
- the quote character to surround the value.
Ignored if quote is (char)0.asValue
- whether to consider the substring without = as
a value (with the null key), or as a key (with the null value)
For example, a12 is considered as a key if asValue is false.
However, if you surround it with a quote, it is always considered
as a value. For example, 'a12' is considered as a value no matter
asValue is true or not.parenthesis
- whether to parse parenthesis in the value, {}, () and [].
If true, the separator is ignored inside the parenthesis.
Specify true if the value might contain EL expressions.
Note: it has no effect to the name.
IllegalSyntaxException
- if syntax errorsCollectionsX.parse(java.util.Collection, java.lang.String, char)
,
toString(Map, char, char)
public static final java.util.Map parse(java.util.Map map, java.lang.String src, char separator, char quote, boolean asValue, boolean multiple, boolean parenthesis) throws IllegalSyntaxException
parse(Map, String, char, char, boolean, boolean)
and
parseMultiple(java.util.Map super java.lang.String, java.util.Collection>, java.lang.String, char, char, boolean, boolean)
IllegalSyntaxException
public static final java.lang.String toString(java.util.Map<? super java.lang.String,? super java.lang.String> map, char quote, char separator)
map
- the map to convert fromquote
- the quotation character; 0 means no quotation surrounding
the valueseparator
- the separator between two name=value pairsparse(Map, String, char, char)
public static final java.lang.StringBuffer toStringBuffer(java.lang.StringBuffer sb, java.util.Map<? super java.lang.String,? super java.lang.String> map, char quote, char separator)
toString(java.util.Map super java.lang.String, ? super java.lang.String>, char, char)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |