Class ParseFieldRegistry<T>


  • public class ParseFieldRegistry<T>
    extends Object
    Registry for looking things up using ParseField semantics.
    • Constructor Detail

      • ParseFieldRegistry

        public ParseFieldRegistry​(String registryName)
        Build the registry.
        Parameters:
        registryName - used for error messages
    • Method Detail

      • getNames

        public Set<String> getNames()
        All the names under which values are registered. Expect this to be used mostly for testing.
      • register

        public void register​(T value,
                             String name)
        Register a parser.
      • register

        public void register​(T value,
                             ParseField parseField)
        Register a parser.
      • lookup

        public T lookup​(String name,
                        XContentLocation xContentLocation,
                        DeprecationHandler deprecationHandler)
        Lookup a value from the registry by name while checking that the name matches the ParseField.
        Parameters:
        name - The name of the thing to look up.
        Returns:
        The value being looked up. Never null.
        Throws:
        ParsingException - if the named thing isn't in the registry or the name was deprecated and deprecated names aren't supported.
      • lookupReturningNullIfNotFound

        public T lookupReturningNullIfNotFound​(String name,
                                               DeprecationHandler deprecationHandler)
        Lookup a value from the registry by name while checking that the name matches the ParseField.
        Parameters:
        name - The name of the thing to look up.
        Returns:
        The value being looked up or null if it wasn't found.
        Throws:
        ParsingException - if the named thing isn't in the registry or the name was deprecated and deprecated names aren't supported.