Class LoggingValidationHandler

java.lang.Object
dev.metaschema.core.model.validation.AbstractValidationResultProcessor
dev.metaschema.cli.util.LoggingValidationHandler

public final class LoggingValidationHandler extends dev.metaschema.core.model.validation.AbstractValidationResultProcessor
Supports logging validation findings to the console using ANSI color codes to improve the visibility of warnings and errors.
  • Method Details

    • instance

      @NonNull public static LoggingValidationHandler instance()
      Get a singleton instance of the logging validation handler.

      This instance will not log exceptions.

      Returns:
      the instance
    • instance

      @NonNull public static LoggingValidationHandler instance(boolean logExceptions)
      Get a singleton instance of the logging validation handler.
      Parameters:
      logExceptions - true if this instance will log exceptions or false otherwise
      Returns:
      the instance
    • withPathFormatter

      @NonNull public static LoggingValidationHandler withPathFormatter(@NonNull dev.metaschema.core.metapath.format.IPathFormatter pathFormatter)
      Create a new logging validation handler with a custom path formatter.
      Parameters:
      pathFormatter - the path formatter to use for constraint validation findings
      Returns:
      a new handler instance
    • withSettings

      @NonNull public static LoggingValidationHandler withSettings(boolean logExceptions, @NonNull dev.metaschema.core.metapath.format.IPathFormatter pathFormatter)
      Create a new logging validation handler with custom settings.
      Parameters:
      logExceptions - true if this instance will log exceptions or false otherwise
      pathFormatter - the path formatter to use for constraint validation findings
      Returns:
      a new handler instance
    • isLogExceptions

      public boolean isLogExceptions()
      Determine if exceptions should be logged.
      Returns:
      true if exceptions are logged or false otherwise
    • handleJsonValidationFinding

      protected void handleJsonValidationFinding(@NonNull dev.metaschema.core.model.validation.JsonSchemaContentValidator.JsonValidationFinding finding)
      Specified by:
      handleJsonValidationFinding in class dev.metaschema.core.model.validation.AbstractValidationResultProcessor
    • handleXmlValidationFinding

      protected void handleXmlValidationFinding(dev.metaschema.core.model.validation.XmlSchemaContentValidator.XmlValidationFinding finding)
      Specified by:
      handleXmlValidationFinding in class dev.metaschema.core.model.validation.AbstractValidationResultProcessor
    • handleConstraintValidationFinding

      protected void handleConstraintValidationFinding(@NonNull dev.metaschema.core.model.constraint.ConstraintValidationFinding finding)
      Specified by:
      handleConstraintValidationFinding in class dev.metaschema.core.model.validation.AbstractValidationResultProcessor