Class ValidationResult

java.lang.Object
dev.jcputney.elearning.parser.validation.ValidationResult

public final class ValidationResult extends Object
Immutable container for validation issues found during module parsing. Supports composition via merge() for combining results from multiple validators.
  • Method Details

    • valid

      public static ValidationResult valid()
      Creates a valid result with no issues.
      Returns:
      Empty ValidationResult
    • of

      public static ValidationResult of(ValidationIssue... issues)
      Creates a result with the specified issues.
      Parameters:
      issues - Validation issues to include
      Returns:
      ValidationResult containing the issues
    • merge

      public ValidationResult merge(ValidationResult other)
      Merges this result with another, combining their issues.
      Parameters:
      other - Another ValidationResult to merge
      Returns:
      New ValidationResult containing issues from both
    • isValid

      public boolean isValid()
      Checks if this result is valid (no errors). Warnings do not affect validity.
      Returns:
      true if no errors present
    • hasErrors

      public boolean hasErrors()
      Checks if any ERROR-level issues are present.
      Returns:
      true if at least one error exists
    • hasWarnings

      public boolean hasWarnings()
      Checks if any WARNING-level issues are present.
      Returns:
      true if at least one warning exists
    • getErrors

      public List<ValidationIssue> getErrors()
      Gets all ERROR-level issues.
      Returns:
      Immutable list of errors
    • getWarnings

      public List<ValidationIssue> getWarnings()
      Gets all WARNING-level issues.
      Returns:
      Immutable list of warnings
    • getAllIssues

      public List<ValidationIssue> getAllIssues()
      Gets all issues regardless of severity.
      Returns:
      Immutable list of all issues
    • formatErrors

      public String formatErrors()
      Formats all errors as a human-readable string. Used for exception messages.
      Returns:
      Formatted error message
    • toException

      public ModuleParsingException toException(String contextMessage)
      Converts this ValidationResult to a ModuleParsingException. Factory method for creating exceptions from validation failures.
      Parameters:
      contextMessage - Context message describing what was being parsed
      Returns:
      ModuleParsingException containing this result