1 23 package org.hammurapi.inspectors; 24 25 import org.hammurapi.InspectorBase; 26 27 import com.pavelvlasov.jsel.JselException; 28 import com.pavelvlasov.jsel.LanguageElement; 29 import com.pavelvlasov.jsel.TypeDefinition; 30 import com.pavelvlasov.jsel.VariableDefinition; 31 32 38 public class StatelessStrutsAction extends InspectorBase { 39 40 public boolean isOfInterest(VariableDefinition element) throws JselException { 41 LanguageElement parent=element.getParent(); 42 if (parent instanceof TypeDefinition) { 43 return ((TypeDefinition) parent).isKindOf("org.apache.struts.action.Action"); 44 } else { 45 return false; 46 } 47 } 48 49 public void visit(VariableDefinition element) { 50 try { 51 if (isOfInterest(element) && !( element.getModifiers().contains("final"))) { 52 context.reportViolation(element); 53 } 54 } catch (JselException e) { 55 context.warn(element.getEnclosingType(), e); 56 } 57 } 58 59 } 60 | Popular Tags |