public abstract class MapParser<VALUETYPE> extends SimpleMapParser
Superclasses of parsers of a map represented textually as
{key1:value1,"anystringkey":value2,'anystringkey2':value3 ...}
.
This parser must be extended to override the way values are parsed and constructed.
Example: To create a Double map parser:
public static final class DoubleMapParser extends MapParser<Double> { @Override protected Double parseValue(String value) { return Double.parseDouble(value); } }
Map parsers are NOT multithread safe, but are cheap to construct.
Constructor and Description |
---|
MapParser() |
Modifier and Type | Method and Description |
---|---|
protected void |
handleKeyValue(String key,
String value) |
Map<String,VALUETYPE> |
parse(String string,
Map<String,VALUETYPE> map)
Parses a map on the form
{key1:value1,key2:value2 ...} |
Map<String,VALUETYPE> |
parseToMap(String s)
Convenience method doing return parse(s,new HashMap<String,VALUETYPE>())
|
protected abstract VALUETYPE |
parseValue(String value) |
consumeValue, findEndOfKey, findEndOfValue, parse, string
public Map<String,VALUETYPE> parseToMap(String s)
public Map<String,VALUETYPE> parse(String string, Map<String,VALUETYPE> map)
{key1:value1,key2:value2 ...}
string
- the textual representation of the mapmap
- the map to which the values will be addedprotected void handleKeyValue(String key, String value)
handleKeyValue
in class SimpleMapParser
Copyright © 2017. All rights reserved.