• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.github.javaparser.ast.validator;
2 
3 import com.github.javaparser.ast.Node;
4 
5 import java.util.ArrayList;
6 import java.util.Arrays;
7 import java.util.List;
8 
9 /**
10  * A validator that will call a collection of validators.
11  */
12 public class Validators implements Validator {
13     private final List<Validator> validators = new ArrayList<>();
14 
Validators(Validator... validators)15     public Validators(Validator... validators) {
16         this.validators.addAll(Arrays.asList(validators));
17     }
18 
getValidators()19     public List<Validator> getValidators() {
20         return validators;
21     }
22 
remove(Validator validator)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 
replace(Validator oldValidator, Validator newValidator)30     public Validators replace(Validator oldValidator, Validator newValidator) {
31         remove(oldValidator);
32         add(newValidator);
33         return this;
34     }
35 
add(Validator newValidator)36     public Validators add(Validator newValidator) {
37         validators.add(newValidator);
38         return this;
39     }
40 
41     @Override
accept(Node node, ProblemReporter problemReporter)42     public void accept(Node node, ProblemReporter problemReporter) {
43         validators.forEach(v -> v.accept(node, problemReporter));
44     }
45 }
46