Interface EvaluatorFactory

All Known Implementing Classes:
Draft2019EvaluatorFactory, Draft2020EvaluatorFactory, Draft4EvaluatorFactory, Draft6EvaluatorFactory, Draft7EvaluatorFactory, FormatEvaluatorFactory

public interface EvaluatorFactory
EvaluatorFactory interface is responsible for creation of Evaluator instances. It should hold information about keyword relation with Evaluator.
  • Method Details

    • create

      Optional<Evaluator> create(SchemaParsingContext ctx, String fieldName, JsonNode fieldNode)
      This method will be invoked for each JSON object field during schema parsing process. Must not throw any exceptions.
      Parameters:
      ctx - current schema parsing context
      fieldName - field name (keyword) in JSON object for which Evaluator should be created
      fieldNode - value of field in JSON object
      Returns:
      If this factory supports given field name (keyword) it should return corresponding Evaluator wrapped in Optional, Optional.empty() otherwise.
    • compose

      static EvaluatorFactory compose(EvaluatorFactory... factories)
      Composes multiple EvaluatorFactory instances into one. Calls create(SchemaParsingContext, String, JsonNode) on each instance until non-empty Optional is returned.
      Parameters:
      factories - EvaluatorFactories to be composed
      Returns:
      composed EvaluatorFactory