1 19 20 package org.netbeans.modules.j2ee.jpa.verification.rules.entity; 21 22 import java.util.Arrays ; 23 import javax.lang.model.element.Modifier; 24 import javax.lang.model.element.TypeElement; 25 import org.netbeans.api.java.source.ElementHandle; 26 import org.netbeans.modules.j2ee.jpa.verification.JPAClassRule; 27 import org.netbeans.modules.j2ee.jpa.verification.JPAClassRule.ClassConstraints; 28 import org.netbeans.modules.j2ee.jpa.verification.common.ProblemContext; 29 import org.netbeans.modules.j2ee.jpa.verification.fixes.RemoveFinalModifier; 30 import org.netbeans.spi.editor.hints.ErrorDescription; 31 import org.netbeans.spi.editor.hints.Fix; 32 import org.openide.util.NbBundle; 33 34 38 public class NonFinalClass extends JPAClassRule { 39 40 41 public NonFinalClass() { 42 setClassContraints(Arrays.asList(ClassConstraints.ENTITY, 43 ClassConstraints.EMBEDDABLE, 44 ClassConstraints.MAPPED_SUPERCLASS)); 45 } 46 47 @Override public ErrorDescription[] apply(TypeElement subject, ProblemContext ctx){ 48 if (!subject.getModifiers().contains(Modifier.FINAL)){ 49 return null; 50 } 51 52 Fix fix = new RemoveFinalModifier(ctx.getFileObject(), ElementHandle.create(subject)); 53 return new ErrorDescription[]{createProblem(subject, ctx, fix)}; 54 } 55 56 @Override public String getDescription(){ 57 return NbBundle.getMessage(IdDefinedInHierarchy.class, "MSG_FinalClassAsEntity"); 58 } 59 } 60 | Popular Tags |