|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.zkoss.util.Maps
public class Maps
Utilities for process Map.
Constructor Summary | |
---|---|
Maps()
|
Method Summary | |
---|---|
static void |
load(java.util.Map 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 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 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 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 |
parse(java.util.Map map,
java.lang.String src,
char separator,
char quote)
Parses a string into a map. |
static java.util.Map |
parse(java.util.Map map,
java.lang.String src,
char separator,
char quote,
boolean asValue)
Parses 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)
Parse a string into a map. |
static java.lang.String |
toString(java.util.Map map,
char quote,
char separator)
Converts a map to a string. |
static java.lang.StringBuffer |
toStringBuffer(java.lang.StringBuffer sb,
java.util.Map 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 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 spead 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 considerred 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 map, java.io.InputStream sm, java.lang.String charset) throws java.io.IOException
java.io.IOException
public static final void load(java.util.Map 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 map, java.io.InputStream sm) throws java.io.IOException
java.io.IOException
public static final java.util.Map parse(java.util.Map 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, boolean)
public static final java.util.Map parse(java.util.Map 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, boolean)
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
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 mapsrc
- the string to parseseparator
- the separator, e.g., ' ' or ','.quote
- the quote character to surround the value.
Ingored 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.multiple
- whehter to use List to store the values if
there are multiple entries with the same name.
For example, src is a1=x,a1=y, then, if multiple is true,
the value for a1 is a list with two values, "x" and "y".
If multiple is false, the later one overwrites the former one and
the value for a1 in the above example is "y".
Note: if no replication, the value is always a String instance
(or null if not specified).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.lang.String toString(java.util.Map map, char quote, char separator)
map
- the map to convert fromquote
- the quotation character; 0 means no quotation surrunding
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 map, char quote, char separator)
toString(java.util.Map, char, char)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |