How manuelmaslonka/validation-utils works
Validation Utils is a dependency-light Java library for composing reusable validation rules and turning failures into application-specific exceptions. The main workflow is: an application configures a provider and category, creates an executor for input, adds reusable steps, and validates; the executor applies the selected strategy, gathers results, and throws an exception on failure. The library also provides required, forbidden, and exact-shape property checks. Some core implementations are not sampled, so their internal wiring is shown only where documented or supported by the excerpts.
Main entry points: ValidationExecutor.java Validation executor · ValidationStep.java Validation step · ValidationExecutorProvider.java Executor provider · RequiredParamsValidationStepCreator.java Required fields
Components 15
Configuration
- Executor provider
src/main/java/com/maslonka/validation/core/ValidationExecutorProvider.java - Failure category
src/main/java/com/maslonka/validation/core/ValidationCategory.java - Exception factory
src/main/java/com/maslonka/validation/core/ValidationExceptionFactory.java
Validation rules
- Validation step
src/main/java/com/maslonka/validation/core/ValidationStep.java - Required fields
src/main/java/com/maslonka/validation/steps/RequiredParamsValidationStepCreator.java - Forbidden fields
src/main/java/com/maslonka/validation/steps/ForbiddenParamsValidationStepCreator.java - Exact field shape
src/main/java/com/maslonka/validation/steps/RequiredStrictParamsValidationStepCreator.java - Empty-value checks
src/main/java/com/maslonka/validation/steps/ValidationValueUtils.java
Execution and results
- Validation executor
src/main/java/com/maslonka/validation/core/ValidationExecutor.java - Execution strategy
src/main/java/com/maslonka/validation/core/ValidationExecutionStrategy.java - Collect all
src/main/java/com/maslonka/validation/core/CollectAllValidationExecutionStrategy.java - Fail fast
src/main/java/com/maslonka/validation/core/FailFastValidationExecutionStrategy.java - Validation result
src/main/java/com/maslonka/validation/core/ValidationResult.java - Result status
src/main/java/com/maslonka/validation/core/ValidationStatus.java
Other components
- Java application
Connections 21
- Java application → Executor provider: configures
- Executor provider → Failure category: uses defaults
- Executor provider → Exception factory: registers factories
- Executor provider → Validation executor: creates
- Java application → Validation executor: adds steps
- Validation executor → Execution strategy: validates with
- Execution strategy → Collect all: dispatches
- Execution strategy → Fail fast: dispatches
- Validation executor → Validation step: evaluates
- Collect all → Validation step: evaluates steps
- Fail fast → Validation step: evaluates steps
- Required fields → Validation step: creates
- Forbidden fields → Validation step: creates
- Exact field shape → Required fields: combines
- Exact field shape → Forbidden fields: combines
- Required fields → Empty-value checks: checks emptiness
- Forbidden fields → Empty-value checks: checks emptiness
- Validation step → Validation result: returns
- Validation executor → Validation result: aggregates
- Validation result → Result status: records status
- Validation executor → Exception factory: creates failure exception