![JAR search and dependency download from the Maven repository](/logo.png)
org.srplib.validation.CompositeValidator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of srp-validation-support Show documentation
Show all versions of srp-validation-support Show documentation
Single Responsibility Principle (SRP) libraries collection
package org.srplib.validation;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Composite validators which aggregates other validators.
*
* Useful for composing complex validators and representing them as a single validators. At validation time this
* validators invokes all aggregated validators.
*
* @author Anton Pechinsky
*/
public class CompositeValidator implements Validator {
private List> validators;
/**
* Creates composite validators.
*
* @param validators a list of validators to aggregate
*/
public CompositeValidator(List> validators) {
if (validators == null) {
throw new IllegalArgumentException("Validators collection must not be null.");
}
this.validators = new ArrayList>(validators);
}
/**
* Creates composite validators.
*
* @param validators a vararg array of validators to aggregate
*/
public CompositeValidator(Validator... validators) {
this(Arrays.asList(validators));
}
/**
* Adds validators.
*
* @param validators vararg array of validators.
*/
public void add(Validator... validators) {
this.validators.addAll(Arrays.asList(validators));
}
@Override
public void validate(Validatable validatable) {
for (Validator validator : validators) {
validator.validate(validatable);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy