1 23 package org.hammurapi.inspectors; 24 25 import java.util.Collections ; 26 import java.util.Iterator ; 27 import java.util.LinkedList ; 28 import java.util.List ; 29 30 import org.hammurapi.InspectorBase; 31 32 import com.pavelvlasov.jsel.Field; 33 34 39 public class ModifiersOrderRule extends InspectorBase { 40 public static final List modifiers; 41 42 static { 43 List mdf=new LinkedList (); 44 mdf.add("public"); 45 mdf.add("protected"); 46 mdf.add("private"); 47 mdf.add("abstract"); 48 mdf.add("static"); 49 mdf.add("final"); 50 mdf.add("synchronized"); 51 mdf.add("native"); 52 mdf.add("transient"); 53 mdf.add("volatile"); 54 mdf.add("strictfp"); 55 modifiers=Collections.unmodifiableList(mdf); 56 } 57 58 public void visit(Field field) { 59 int prevIdx=-1; 60 Iterator it=field.getModifiers().iterator(); 61 while (it.hasNext()) { 62 int idx=modifiers.indexOf(it.next()); 63 if (idx<prevIdx) { 64 context.reportViolation(field); 65 break; 66 } 67 prevIdx=idx; 68 } 69 } 70 } 71 | Popular Tags |