1 23 package org.hammurapi.inspectors; 24 25 import org.hammurapi.InspectorBase; 26 27 import com.pavelvlasov.jsel.Method; 28 import com.pavelvlasov.jsel.Parameter; 29 import com.pavelvlasov.jsel.TypeDefinition; 30 import com.pavelvlasov.jsel.VariableDefinition; 31 32 38 public class NamingStandardRule extends InspectorBase { 39 40 45 public void visit(TypeDefinition typeDefinition) { 46 if (typeDefinition.getName().indexOf('_')!=-1 || !Character.isUpperCase(typeDefinition.getName().charAt(0))) { 47 context.reportViolation(typeDefinition); 48 } 49 } 50 51 52 57 public void visit(Method method) { 58 if (method.getName().indexOf('_')!=-1 || !Character.isLowerCase(method.getName().charAt(0))) { 59 context.reportViolation(method); 60 } 61 } 62 63 68 public void visit(VariableDefinition variableDefinition) { 69 if (variableDefinition.getModifiers().contains("static") && variableDefinition.getModifiers().contains("final")) { 70 if (!"serialVersionUID".equals(variableDefinition.getName()) && !variableDefinition.getName().toUpperCase().equals(variableDefinition.getName())) { 71 context.reportViolation(variableDefinition); 72 } 73 } else if (variableDefinition.getName().indexOf('_')!=-1 || !Character.isLowerCase(variableDefinition.getName().charAt(0))) { 74 context.reportViolation(variableDefinition); 75 } else if ("enum".equals(variableDefinition.getName())) { 76 context.reportViolation(variableDefinition); 77 } 78 } 79 80 85 public void visit(Parameter parameter) { 86 if (parameter.getName().indexOf('_')!=-1 || !Character.isLowerCase(parameter.getName().charAt(0))) { 87 context.reportViolation(parameter); 88 } else if ("enum".equals(parameter.getName())) { 89 context.reportViolation(parameter); 90 } 91 } 92 93 public void visit(com.pavelvlasov.jsel.Package pkg) { 94 if (pkg.getName().toLowerCase()!=pkg.getName()) { 95 context.reportViolation(null, "Package name shall be in lower case: "+pkg.getName()); 96 } 97 98 if (pkg.getName().indexOf('_')!=-1) { 99 context.reportViolation(null, "Packages name shall not contain underscore character: "+pkg.getName()); 100 } 101 } 102 } 103 | Popular Tags |