Package com.yahoo.text
Class MapParser<VALUETYPE>
- java.lang.Object
-
- com.yahoo.text.SimpleMapParser
-
- com.yahoo.text.MapParser<VALUETYPE>
-
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.
- Since:
- 5.1.15
- Author:
- bratseth
-
-
Constructor Summary
Constructors Constructor Description MapParser()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
handleKeyValue(java.lang.String key, java.lang.String value)
java.util.Map<java.lang.String,VALUETYPE>
parse(java.lang.String string, java.util.Map<java.lang.String,VALUETYPE> map)
Parses a map on the form{key1:value1,key2:value2 ...}
java.util.Map<java.lang.String,VALUETYPE>
parseToMap(java.lang.String s)
Convenience method doing return parse(s,new HashMap<String,VALUETYPE>())protected abstract VALUETYPE
parseValue(java.lang.String value)
-
Methods inherited from class com.yahoo.text.SimpleMapParser
consumeValue, findEndOfKey, findEndOfValue, parse, string
-
-
-
-
Method Detail
-
parseToMap
public java.util.Map<java.lang.String,VALUETYPE> parseToMap(java.lang.String s)
Convenience method doing return parse(s,new HashMap<String,VALUETYPE>())
-
parse
public java.util.Map<java.lang.String,VALUETYPE> parse(java.lang.String string, java.util.Map<java.lang.String,VALUETYPE> map)
Parses a map on the form{key1:value1,key2:value2 ...}
- Parameters:
string
- the textual representation of the mapmap
- the map to which the values will be added- Returns:
- the input map instance for convenience
-
handleKeyValue
protected void handleKeyValue(java.lang.String key, java.lang.String value)
- Specified by:
handleKeyValue
in classSimpleMapParser
-
parseValue
protected abstract VALUETYPE parseValue(java.lang.String value)
-
-