1 20 21 package spoon.aval.support.validator; 22 23 import java.lang.annotation.Annotation ; 24 25 import spoon.aval.Validator; 26 import spoon.aval.annotation.structure.Requires; 27 import spoon.aval.processing.AValProcessor; 28 import spoon.aval.processing.ValidationPoint; 29 import spoon.reflect.declaration.CtAnnotation; 30 import spoon.reflect.declaration.CtElement; 31 32 41 public class RequiresValidator implements Validator<Requires>{ 42 45 public void check(ValidationPoint<Requires> vp) { 46 Class <? extends Annotation > reqA = vp.getValAnnotation().value(); 47 CtElement element = vp.getProgramElement(); 48 CtAnnotation dslAnnotation = vp.getDslAnnotation(); 49 boolean valid = element.getAnnotation(reqA) !=null; 50 if (!valid) { 51 String message = vp.getValAnnotation().message().replace("?val", reqA.getCanonicalName()); 52 ValidationPoint.report( vp.getValAnnotation().severity(), dslAnnotation, message,vp.fixerFactory(vp.getValAnnotation().fixers())); 53 } 54 } 55 56 } 57 | Popular Tags |