Class SarifValidationHandler

java.lang.Object
dev.metaschema.modules.sarif.SarifValidationHandler

public final class SarifValidationHandler extends Object
Supports building a Static Analysis Results Interchange Format (SARIF) document based on a set of validation findings.
  • Field Details

    • SARIF_HELP_URL_KEY

      @NonNull public static final IAttributable.Key SARIF_HELP_URL_KEY
      The property key for specifying a URL that provides help information for a constraint.
    • SARIF_HELP_TEXT_KEY

      @NonNull public static final IAttributable.Key SARIF_HELP_TEXT_KEY
      The property key for specifying plain text help content for a constraint.
    • SARIF_HELP_MARKDOWN_KEY

      @NonNull public static final IAttributable.Key SARIF_HELP_MARKDOWN_KEY
      The property key for specifying markdown-formatted help content for a constraint.
  • Constructor Details

    • SarifValidationHandler

      public SarifValidationHandler(@NonNull URI source, @Nullable IVersionInfo toolVersion)
      Construct a new validation handler.
      Parameters:
      source - the URI of the content that was validated
      toolVersion - the version information for the tool producing the validation results
  • Method Details

    • addFindings

      public void addFindings(@NonNull Collection<? extends IValidationFinding> findings)
      Register a collection of validation finding.
      Parameters:
      findings - the findings to register
    • addFinding

      public void addFinding(@NonNull IValidationFinding finding)
      Register a validation finding.
      Parameters:
      finding - the finding to register
    • writeToString

      @NonNull public String writeToString(@NonNull IBindingContext bindingContext) throws IOException
      Write the collection of findings to a string in SARIF format.
      Parameters:
      bindingContext - the context used to access Metaschema module information based on Java class bindings
      Returns:
      the SARIF document as a string
      Throws:
      IOException - if an error occurred while generating the SARIF document
    • write

      public void write(@NonNull Path outputFile, @NonNull IBindingContext bindingContext) throws IOException
      Write the collection of findings to the provided output file.
      Parameters:
      outputFile - the path to the output file to write to
      bindingContext - the context used to access Metaschema module information based on Java class bindings
      Throws:
      IOException - if an error occurred while writing the SARIF file