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
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final NodeResolverIndicates that a field should be explicitly skipped. -
Method Summary
Modifier and TypeMethodDescriptionstatic NodeResolver.FactoryCreates resolvers that get the node at a key defined bySetting.static NodeResolver.FactoryA resolver that uses the containing node of a field.static NodeResolver.FactorynodeKey()Creates resolvers that provide the key of the containing node for values.static NodeResolver.FactoryonlyWithAnnotation(Class<? extends Annotation> annotation) A resolver that skips any field not annotated withannotation.static NodeResolver.FactoryA resolver that will skip any field not annotated withSetting.@Nullable ConfigurationNoderesolve(ConfigurationNode parent) Given a parent node, resolve an appropriate child.
-
Field Details
-
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
parentnode 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 bySetting.- Returns:
- a factory that will extract keys from a provided annotation
- Since:
- 4.0.0
-
onlyWithAnnotation
A resolver that skips any field not annotated withannotation.- Parameters:
annotation- annotation to require- Returns:
- a new resolver
- Since:
- 4.0.0
-
onlyWithSetting
A resolver that will skip any field not annotated withSetting.- 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
-