/**
*
*/
package org.minnal.instrument;
import org.javalite.common.Inflector;
import org.minnal.instrument.entity.metadata.CollectionMetaData;
/**
* @author ganeshs
*
*/
public class UnderscoreNamingStrategy implements NamingStrategy {
@Override
public String getEntityName(Class<?> entityClass) {
return Inflector.camelize(Inflector.underscore(entityClass.getSimpleName()), false);
}
@Override
public String getEntityName(CollectionMetaData collection) {
return Inflector.singularize(collection.getName());
}
@Override
public String getResourceName(String entityName) {
return Inflector.tableize(entityName);
}
@Override
public String getEntityCollectionName(String name) {
return Inflector.singularize(name);
}
@Override
public String getResourceClassName(Class<?> entityClass) {
return entityClass.getName() + "Resource";
}
@Override
public String getResourceWrapperClassName(Class<?> resourceClass) {
return resourceClass.getName() + "Wrapper";
}
@Override
public String getPathSegment(String segment) {
return Inflector.underscore(segment);
}
@Override
public String getResourceName(Class<?> entityClass) {
return getResourceName(getEntityName(entityClass));
}
@Override
public String getQueryParamName(String name) {
return Inflector.underscore(name);
}
}