Class ParserUtils

    • Field Detail

      • BUILT_IN_PARSERS

        public static final java.util.Collection<ExtensionParser<?>> BUILT_IN_PARSERS
      • PARSERS_MAP

        private static final java.util.NavigableMap<java.lang.String,​ExtensionParser<?>> PARSERS_MAP
    • Constructor Detail

      • ParserUtils

        private ParserUtils()
    • Method Detail

      • registerParser

        public static ExtensionParser<?> registerParser​(ExtensionParser<?> parser)
        Parameters:
        parser - The ExtensionParser to register
        Returns:
        The replaced parser (by name) - null if no previous parser for this extension name
      • unregisterParser

        public static ExtensionParser<?> unregisterParser​(java.lang.String name)
        Parameters:
        name - The extension name - ignored if null/empty
        Returns:
        The removed ExtensionParser - null if none registered for this extension name
      • getRegisteredParser

        public static ExtensionParser<?> getRegisteredParser​(java.lang.String name)
        Parameters:
        name - The extension name - ignored if null/empty
        Returns:
        The registered ExtensionParser - null if none registered for this extension name
      • getRegisteredParsersNames

        public static java.util.Set<java.lang.String> getRegisteredParsersNames()
      • getRegisteredParsers

        public static java.util.List<ExtensionParser<?>> getRegisteredParsers()
      • supportedExtensions

        public static java.util.Set<java.lang.String> supportedExtensions​(java.util.Map<java.lang.String,​?> parsed)
      • parse

        public static java.util.Map<java.lang.String,​java.lang.Object> parse​(java.util.Map<java.lang.String,​byte[]> extensions)
        Parameters:
        extensions - The received extensions in encoded form
        Returns:
        A Map of all the successfully decoded extensions where key=extension name (same as in the original map), value=the decoded extension value. Extensions for which there is no registered parser are ignored
        See Also:
        getRegisteredParser(String), ExtensionParser.parse(byte[])
      • parse

        public static java.lang.Object parse​(java.lang.String name,
                                             byte... encoded)