Interface NodeResolver


public interface NodeResolver
A function to resolve nodes for a specific field.

A NodeResolver.Factory is responsible for creating node resolvers for each field in an object, and provides the context necessary for a resolver to determine which node to navigate to.

Since:
4.0.0
  • Field Details

    • SKIP_FIELD

      static final NodeResolver SKIP_FIELD
      Indicates that a field should be explicitly skipped.
      Since:
      4.0.0
  • Method Details

    • resolve

      Given a parent node, resolve an appropriate child.

      The parent node is the node that the mapped object is being deserialized from.

      Parameters:
      parent - parent node
      Returns:
      child node, or null if the node should not be deserialized.
      Since:
      4.0.0
    • nodeKey

      Creates resolvers that provide the key of the containing node for values.
      Returns:
      key-based resolver
      Since:
      4.0.0
    • keyFromSetting

      Creates resolvers that get the node at a key defined by Setting.
      Returns:
      a factory that will extract keys from a provided annotation
      Since:
      4.0.0
    • onlyWithAnnotation

      static NodeResolver.Factory onlyWithAnnotation(Class<? extends Annotation> annotation)
      A resolver that skips any field not annotated with annotation.
      Parameters:
      annotation - annotation to require
      Returns:
      a new resolver
      Since:
      4.0.0
    • onlyWithSetting

      A resolver that will skip any field not annotated with Setting.
      Returns:
      new resolver restricting fields
      Since:
      4.0.0
    • nodeFromParent

      A resolver that uses the containing node of a field.

      This can be used to combine multiple Java objects into one configuration node.

      Returns:
      new resolver using containing field value
      Since:
      4.0.0