Class JsonIssueParser

java.lang.Object
edu.hm.hafner.analysis.IssueParser
edu.hm.hafner.analysis.parser.JsonIssueParser
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
AquaScannerParser, BrakemanParser, ClairParser, DockerLintParser, FlowParser, GrypeParser, HadoLintParser, OTDockerLintParser, OwaspDependencyCheckParser, PnpmAuditParser, RevApiParser, SonarQubeParser, TrivyParser, VeraCodePipelineScannerParser

public abstract class JsonIssueParser extends IssueParser
Base class for parsers that operate on a `*.json` file that contains issues in a JSON data structure.
Author:
Ullrich Hafner
See Also:
  • Constructor Details

    • JsonIssueParser

      public JsonIssueParser()
  • Method Details

    • parse

      public Report parse(ReaderFactory readerFactory) throws ParsingException
      Description copied from class: IssueParser
      Parses the specified file for issues.
      Specified by:
      parse in class IssueParser
      Parameters:
      readerFactory - provides a reader to the reports
      Returns:
      the issues
      Throws:
      ParsingException - Signals that during parsing a non-recoverable error has been occurred
    • accepts

      public boolean accepts(ReaderFactory readerFactory)
      Description copied from class: IssueParser
      Returns whether this parser accepts the specified file as valid input. Parsers may reject a file if it is in the wrong format to avoid exceptions during parsing.
      Overrides:
      accepts in class IssueParser
      Parameters:
      readerFactory - provides a reader to the reports
      Returns:
      true if this parser accepts this file as valid input, or false if the file could not be parsed by this parser
    • parseJsonObject

      protected void parseJsonObject(Report report, org.json.JSONObject jsonReport, IssueBuilder issueBuilder)
      Parses the specified JSON object and populates the provided report with all issues.
      Parameters:
      report - the report to fill
      jsonReport - the input JSON report given as JSON object
      issueBuilder - build to be used to create issues
    • parseJsonArray

      protected void parseJsonArray(Report report, org.json.JSONArray jsonReport, IssueBuilder issueBuilder)
      Parses the specified JSON object and populates the provided report with all issues.
      Parameters:
      report - the report to fill
      jsonReport - the input JSON report given as JSON array
      issueBuilder - build to be used to create issues