package org.qi4j.library.struts2.util;
import static java.lang.Character.*;
public final class ClassNames
{
private ClassNames()
{
}
public static String classNameInDotNotation( Class<?> type )
{
return ClassNames.classNameInDotNotation( type, ClassNameFilters.passThruFilter );
}
public static String classNameInDotNotation( Class<?> type, ClassNameFilter filter )
{
return ClassNames.camelCaseToDotNotation( filter.filter( type.getSimpleName() ) );
}
public static String camelCaseToDotNotation( String name )
{
StringBuilder sb = new StringBuilder( name.length() );
sb.append( toLowerCase( name.charAt( 0 ) ) );
for( int i = 1; i < name.length(); i++ )
{
char c = name.charAt( i );
if( isLowerCase( c ) )
{
sb.append( c );
}
else
{
sb.append( '.' );
sb.append( toLowerCase( c ) );
}
}
return sb.toString();
}
}