Class ParseFieldRegistry<T>

java.lang.Object
org.elasticsearch.common.xcontent.ParseFieldRegistry<T>

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

    • ParseFieldRegistry

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

    • 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.