1package com.github.javaparser.ast.validator; 2 3import com.github.javaparser.ast.Node; 4 5import java.util.ArrayList; 6import java.util.Arrays; 7import java.util.List; 8 9/** 10 * A validator that will call a collection of validators. 11 */ 12public class Validators implements Validator { 13 private final List<Validator> validators = new ArrayList<>(); 14 15 public Validators(Validator... validators) { 16 this.validators.addAll(Arrays.asList(validators)); 17 } 18 19 public List<Validator> getValidators() { 20 return validators; 21 } 22 23 public Validators remove(Validator validator) { 24 if (!validators.remove(validator)) { 25 throw new AssertionError("Trying to remove a validator that isn't there."); 26 } 27 return this; 28 } 29 30 public Validators replace(Validator oldValidator, Validator newValidator) { 31 remove(oldValidator); 32 add(newValidator); 33 return this; 34 } 35 36 public Validators add(Validator newValidator) { 37 validators.add(newValidator); 38 return this; 39 } 40 41 @Override 42 public void accept(Node node, ProblemReporter problemReporter) { 43 validators.forEach(v -> v.accept(node, problemReporter)); 44 } 45} 46