Clover coverage report - Maven Clover report
Coverage timestamp: Sun Mar 18 2007 17:42:32 CET
file stats: LOC: 44   Methods: 5
NCLOC: 38   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
NamingUtils.java 100% 100% 100% 100%
coverage
 1    package com.agical.rmock.core.util;
 2   
 3    import java.util.HashMap;
 4    import java.util.Map;
 5   
 6    public class NamingUtils {
 7    private Map indexByClass = new HashMap();
 8  106 private int getIndexFromNameAndIncrement(String name) {
 9  106 Integer integer = (Integer) indexByClass.get( name );
 10  106 if( integer == null ) {
 11  87 integer = new Integer( 0 );
 12    }
 13  106 integer = new Integer( integer.intValue() + 1 );
 14  106 indexByClass.put( name, integer );
 15  106 return integer.intValue();
 16    }
 17   
 18  106 public String createNameFromMethod(String methodName, Class returnType) {
 19  106 String name;
 20  106 if(!methodName.equals("get") && methodName.startsWith("get")) {
 21  83 name = createNameFromPropertyMethod(methodName);
 22    }
 23    else {
 24  23 name = createNameFromType(returnType);
 25    }
 26  106 return name + getIndexFromNameAndIncrement(name);
 27    }
 28   
 29  83 private String createNameFromPropertyMethod(String methodName) {
 30  83 String propertyName = methodName.substring(3);
 31  83 return decapitalize(propertyName);
 32    }
 33   
 34  114 public String createNameFromType(Class returnType) {
 35  114 String qualifiedName = returnType.getName();
 36  114 String unqualifiedName = qualifiedName.substring(qualifiedName.lastIndexOf('.')+1);
 37  114 return decapitalize(unqualifiedName);
 38    }
 39   
 40  197 private String decapitalize(String unqualifiedName) {
 41  197 String decapitalized = unqualifiedName.substring(0,1).toLowerCase() + unqualifiedName.substring(1);
 42  197 return decapitalized;
 43    }
 44    }