1package com.github.javaparser.ast.validator; 2 3import com.github.javaparser.ast.Node; 4 5/** 6 * Runs a validator on all nodes of a certain type. 7 */ 8public class SingleNodeTypeValidator<N extends Node> implements Validator { 9 private final Class<N> type; 10 private final TypedValidator<N> validator; 11 12 public SingleNodeTypeValidator(Class<N> type, TypedValidator<N> validator) { 13 this.type = type; 14 this.validator = validator; 15 } 16 17 @Override 18 public void accept(Node node, ProblemReporter problemReporter) { 19 if (type.isInstance(node)) { 20 validator.accept(type.cast(node), problemReporter); 21 } 22 node.findAll(type).forEach(n -> validator.accept(n, problemReporter)); 23 } 24} 25