1 23 package org.hammurapi.inspectors; 24 25 import org.hammurapi.InspectorBase; 26 27 import com.pavelvlasov.jsel.Field; 28 import com.pavelvlasov.jsel.JselException; 29 import com.pavelvlasov.jsel.VariableDefinition; 30 31 32 38 public class StaticCollectionsRule extends InspectorBase { 39 40 43 private static final String STATIC = "static"; 44 45 50 public void visit(com.pavelvlasov.jsel.Class clazz) { 51 java.util.Iterator iter = clazz.getFields().iterator(); 52 53 while (iter.hasNext()) { 54 Field field = (Field) iter.next(); 55 if (field instanceof VariableDefinition && field.getModifiers().contains(STATIC)) { 56 VariableDefinition vd = (VariableDefinition) field; 57 try { 58 if (vd.getTypeSpecification().getType().isKindOf("java.util.Collection")) { 59 context.reportViolation(field); 60 } 61 } catch (JselException e) { 62 context.warn(field, e); 63 } 64 } 65 } 66 } 67 } 68 | Popular Tags |