org.exparity.beans.naming.CamelCaseNamingStrategy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of exparity-bean Show documentation
Show all versions of exparity-bean Show documentation
A Java library of bean utilities for manipulating and inspecting Java classes implementing the Java Beans standard
/*
* Copyright (c) Modular IT Limited.
*/
package org.exparity.beans.naming;
import java.lang.reflect.Method;
import org.exparity.beans.BeanNamingStrategy;
import static org.apache.commons.lang.StringUtils.lowerCase;
import static org.apache.commons.lang.StringUtils.uncapitalize;
/**
* @author Stewart Bissett
*/
public class CamelCaseNamingStrategy extends AbstractNamingStrategy implements BeanNamingStrategy {
public String describeRoot(final Class> type) {
return describeType(type);
}
public String describeType(final Class> type) {
return uncapitalize(typeName(type));
}
public String describeProperty(final Method method, final String prefix) {
int startPos = prefix.length();
String methodName = method.getName();
return lowerCase(methodName.charAt(startPos) + "") + methodName.substring(startPos + 1);
}
}