Package com.privatechain.core.spi
Class ValidationResult
java.lang.Object
com.privatechain.core.spi.ValidationResult
Immutable result returned by
TransactionValidator.validate(com.privatechain.core.model.Transaction, com.privatechain.core.builder.Blockchain).
A result is either successful or failed. On failure, it carries a non-empty
list of human-readable error messages and a ValidationResult.ValidationStatus classifying
the failure category (FR-TX-02).
Factory methods success(), failure(ValidationStatus, String),
and failure(ValidationStatus, List) cover the common construction
patterns.
// In a validator implementation:
if (!signatureOk) {
return ValidationResult.failure(
ValidationStatus.INVALID_SIGNATURE,
"Signature does not match sender public key");
}
return ValidationResult.success();
- Since:
- 1.0.0
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumClassification of a transaction validation outcome. -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic ValidationResultfailure(ValidationResult.ValidationStatus status, String message) Creates a failed result with a single error message.static ValidationResultfailure(ValidationResult.ValidationStatus status, List<String> errors) Creates a failed result with multiple error messages.Returns the list of human-readable error descriptions.Returns the status classification of the validation outcome.inthashCode()booleanReturnstrueif the transaction failed one or more validation checks.booleanReturnstrueif the transaction passed all validation checks.static ValidationResultsuccess()Returns the canonical singleton representing a successful validation.toString()
-
Method Details
-
success
Returns the canonical singleton representing a successful validation.- Returns:
- a
ValidationResultwithsuccess=trueandValidationResult.ValidationStatus.VALID
-
failure
Creates a failed result with a single error message.- Parameters:
status- classification of the failure (non-null, must not beValidationResult.ValidationStatus.VALID)message- human-readable error description (non-null, non-blank)- Returns:
- a failed
ValidationResult - Throws:
NullPointerException- if status or message is nullIllegalArgumentException- if status isValidationResult.ValidationStatus.VALIDor message is blank
-
failure
public static ValidationResult failure(ValidationResult.ValidationStatus status, List<String> errors) Creates a failed result with multiple error messages.- Parameters:
status- classification of the failure (non-null, must not beValidationResult.ValidationStatus.VALID)errors- list of human-readable error descriptions (non-null, non-empty)- Returns:
- a failed
ValidationResult - Throws:
NullPointerException- if status or errors is nullIllegalArgumentException- if status isValidationResult.ValidationStatus.VALIDor errors is empty
-
isSuccess
public boolean isSuccess()Returnstrueif the transaction passed all validation checks.- Returns:
trueon success
-
isFailure
public boolean isFailure()Returnstrueif the transaction failed one or more validation checks.- Returns:
trueon failure
-
getStatus
Returns the status classification of the validation outcome.- Returns:
ValidationResult.ValidationStatus.VALIDon success, or a failure enum value
-
getErrors
Returns the list of human-readable error descriptions.- Returns:
- unmodifiable list; empty on success, non-empty on failure
-
equals
-
hashCode
public int hashCode() -
toString
-