Record Class DoctorAnalysisRequest

java.lang.Object
java.lang.Record
com.shaft.doctor.DoctorAnalysisRequest
Record Components:
inputPaths - explicit evidence paths or existing bundle JSON files
historicalBundlePaths - optional older bundle JSON files
allowedRoots - roots that every input and referenced attachment must remain within
outputDirectory - report and portable bundle destination
includeScreenshots - whether screenshot bytes may be retained
includePageSnapshots - whether page source or snapshot text may be retained
minimumAllureResults - minimum valid Allure result count expected from the run
maxItemBytes - maximum retained bytes per evidence item
maxBundleBytes - maximum retained bytes across the bundle

public record DoctorAnalysisRequest(List<Path> inputPaths, List<Path> historicalBundlePaths, List<Path> allowedRoots, Path outputDirectory, boolean includeScreenshots, boolean includePageSnapshots, int minimumAllureResults, long maxItemBytes, long maxBundleBytes) extends Record
Explicit local input and privacy policy for one deterministic analysis.
  • Field Details

    • DEFAULT_MAX_ITEM_BYTES

      public static final long DEFAULT_MAX_ITEM_BYTES
      Default maximum retained size for one evidence item.
      See Also:
    • DEFAULT_MAX_BUNDLE_BYTES

      public static final long DEFAULT_MAX_BUNDLE_BYTES
      Default maximum retained size for an evidence bundle.
      See Also:
  • Constructor Details

    • DoctorAnalysisRequest

      public DoctorAnalysisRequest(List<Path> inputPaths, List<Path> historicalBundlePaths, List<Path> allowedRoots, Path outputDirectory, boolean includeScreenshots, boolean includePageSnapshots, int minimumAllureResults, long maxItemBytes, long maxBundleBytes)
      Creates a validated analysis request.
  • Method Details

    • defaults

      public static DoctorAnalysisRequest defaults(List<Path> inputPaths, List<Path> allowedRoots, Path outputDirectory)
      Creates a request with conservative default size limits.
      Parameters:
      inputPaths - explicit evidence paths
      allowedRoots - allowed roots
      outputDirectory - output directory
      Returns:
      default request
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • inputPaths

      public List<Path> inputPaths()
      Returns the value of the inputPaths record component.
      Returns:
      the value of the inputPaths record component
    • historicalBundlePaths

      public List<Path> historicalBundlePaths()
      Returns the value of the historicalBundlePaths record component.
      Returns:
      the value of the historicalBundlePaths record component
    • allowedRoots

      public List<Path> allowedRoots()
      Returns the value of the allowedRoots record component.
      Returns:
      the value of the allowedRoots record component
    • outputDirectory

      public Path outputDirectory()
      Returns the value of the outputDirectory record component.
      Returns:
      the value of the outputDirectory record component
    • includeScreenshots

      public boolean includeScreenshots()
      Returns the value of the includeScreenshots record component.
      Returns:
      the value of the includeScreenshots record component
    • includePageSnapshots

      public boolean includePageSnapshots()
      Returns the value of the includePageSnapshots record component.
      Returns:
      the value of the includePageSnapshots record component
    • minimumAllureResults

      public int minimumAllureResults()
      Returns the value of the minimumAllureResults record component.
      Returns:
      the value of the minimumAllureResults record component
    • maxItemBytes

      public long maxItemBytes()
      Returns the value of the maxItemBytes record component.
      Returns:
      the value of the maxItemBytes record component
    • maxBundleBytes

      public long maxBundleBytes()
      Returns the value of the maxBundleBytes record component.
      Returns:
      the value of the maxBundleBytes record component