Record Class ValidationResult

java.lang.Object
java.lang.Record
com.pragma.archetype.domain.model.validation.ValidationResult

public record ValidationResult(boolean valid, List<String> errors, List<String> warnings) extends Record
Result of a validation operation. Uses Java 21 features for clean implementation.
  • Constructor Details

    • ValidationResult

      public ValidationResult(boolean valid, List<String> errors, List<String> warnings)
      Creates an instance of a ValidationResult record class.
      Parameters:
      valid - the value for the valid record component
      errors - the value for the errors record component
      warnings - the value for the warnings record component
  • Method Details

    • success

      public static ValidationResult success()
      Creates a successful validation result.
    • successWithWarnings

      public static ValidationResult successWithWarnings(List<String> warnings)
      Creates a successful validation result with warnings.
    • failure

      public static ValidationResult failure(String error)
      Creates a failed validation result with a single error.
    • failure

      public static ValidationResult failure(List<String> errors)
      Creates a failed validation result with multiple errors.
    • isInvalid

      public boolean isInvalid()
      Checks if validation failed.
    • hasWarnings

      public boolean hasWarnings()
      Checks if there are warnings.
    • getFirstError

      public String getFirstError()
      Gets the first error message, or empty string if valid.
    • getAllErrors

      public String getAllErrors()
      Gets all error messages as a single string.
    • getAllWarnings

      public String getAllWarnings()
      Gets all warning messages as a single string.
    • 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 '=='.
      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.
    • valid

      public boolean valid()
      Returns the value of the valid record component.
      Returns:
      the value of the valid record component
    • errors

      public List<String> errors()
      Returns the value of the errors record component.
      Returns:
      the value of the errors record component
    • warnings

      public List<String> warnings()
      Returns the value of the warnings record component.
      Returns:
      the value of the warnings record component