Package dev.harrel.jsonschema
Interface EvaluatorFactory
- All Known Implementing Classes:
Draft2020EvaluatorFactory
public interface EvaluatorFactory
-
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
-