Class 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 Detail

      • MapParser

        public MapParser()
    • 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 map
        map - 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 class SimpleMapParser
      • parseValue

        protected abstract VALUETYPE parseValue​(java.lang.String value)