1 20 21 package spoon.aval.support.validator.problemFixer; 22 23 import java.lang.annotation.Annotation ; 24 25 import spoon.aval.annotation.structure.Inside; 26 import spoon.aval.processing.ValidationPoint; 27 import spoon.processing.AbstractProblemFixer; 28 import spoon.reflect.Changes; 29 import spoon.reflect.declaration.CtElement; 30 31 public class DefaultInsideProblemFixer extends AbstractProblemFixer implements AValFixer<Inside> { 32 33 private Class <? extends Annotation > expectedAnnotation; 34 35 36 public String getDescription() { 37 return "Annotates the parent with the missing "+expectedAnnotation.getName() +" annotation"; 38 } 39 40 public String getLabel() { 41 return "Annotate parent with "+expectedAnnotation.getName(); 42 } 43 44 public Changes run(CtElement element) { 45 Changes mod = new Changes(); 46 element.getFactory().Annotation().annotate(element.getParent(), expectedAnnotation); 47 mod.getModified().add(element); 48 return mod; 49 } 50 51 public void setValidationPoint(ValidationPoint<Inside> vp) { 52 expectedAnnotation = (Class <? extends Annotation >)vp.getValAnnotation().value(); 53 System.out.println(expectedAnnotation); 54 } 55 56 } 57 | Popular Tags |