Interface NodeValidatorPlugin

All Known Implementing Classes:
ConditionsTraitPlugin, MemberAndShapeTraitPlugin, TimestampValidationStrategy, UniqueItemsPlugin

public interface NodeValidatorPlugin
Applies pluggable validation when validating Node values against the schema of a Shape (e.g., when validating that the values provided for a trait in the model are valid for the shape of the trait).
  • Field Details

    • EMPTY_STRING_ARRAY

      static final String[] EMPTY_STRING_ARRAY
  • Method Details

    • shapeTypeFilter

      ShapeTypeFilter shapeTypeFilter()
      A filter expressing the shape types this plugin applies to.
      Returns:
      A ShapeTypeFilter that matches a ShapeType if this plugin has an effect on shapes of that type.
    • apply

      default void apply(Shape shape, Node value, NodeValidatorPlugin.Context context, NodeValidatorPlugin.Emitter emitter)
      Applies the plugin to the given shape, node value, and model.
      Parameters:
      shape - Shape being checked.
      value - Value being evaluated.
      context - Evaluation context.
      emitter - Consumer to notify of validation event locations and messages.
    • applyMatching

      void applyMatching(Shape shape, Node value, NodeValidatorPlugin.Context context, NodeValidatorPlugin.Emitter emitter)
      Applies the plugin to the given shape, node value, and model. Requires the shape to match the shapeMatcher().
      Parameters:
      shape - Shape being checked.
      value - Value being evaluated.
      context - Evaluation context.
      emitter - Consumer to notify of validation event locations and messages.
    • getBuiltins

      static List<NodeValidatorPlugin> getBuiltins()
      Returns:
      Gets the built-in Node validation plugins.