Package dev.harrel.jsonschema
Interface EvaluatorFactory
- All Known Implementing Classes:
Draft2019EvaluatorFactory,Draft2020EvaluatorFactory,Draft4EvaluatorFactory,Draft6EvaluatorFactory,Draft7EvaluatorFactory,FormatEvaluatorFactory
public interface EvaluatorFactory
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classBuilder for constructingEvaluatorFactoryinstances which is an alternative for providing a custom implementation. -
Method Summary
Modifier and TypeMethodDescriptionstatic EvaluatorFactorycompose(EvaluatorFactory... factories) Composes multipleEvaluatorFactoryinstances into one.create(SchemaParsingContext ctx, String fieldName, JsonNode fieldNode) This method will be invoked for each JSON object field during schema parsing process.
-
Method Details
-
create
This method will be invoked for each JSON object field during schema parsing process. Must not throw any exceptions.- Parameters:
ctx- current schema parsing contextfieldName- field name (keyword) in JSON object for whichEvaluatorshould be createdfieldNode- value of field in JSON object- Returns:
- If this factory supports given field name (keyword) it should return corresponding
Evaluatorwrapped inOptional,Optional.empty()otherwise.
-
compose
Composes multipleEvaluatorFactoryinstances into one. Callscreate(SchemaParsingContext, String, JsonNode)on each instance until non-emptyOptionalis returned.- Parameters:
factories- EvaluatorFactories to be composed- Returns:
- composed EvaluatorFactory
-