All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.srplib.validation.CompositeValidator Maven / Gradle / Ivy

There is a newer version: 0.9.0
Show newest version
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