Here you can find the source of getGetterShorthandName(Method method)
public static String getGetterShorthandName(Method method)
//package com.java2s; /* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * /* w ww . j a v a 2 s. co m*/ * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.lang.reflect.Method; import java.util.Locale; import java.util.regex.Pattern; public class Main { private static final Pattern GETTER_PATTERN = Pattern.compile("(get|is)[A-Z].*"); public static String getGetterShorthandName(Method method) { if (!isGetter(method)) { return method.getName(); } String name = method.getName(); if (name.startsWith("get")) { name = name.substring(3); name = name.substring(0, 1).toLowerCase(Locale.ENGLISH) + name.substring(1); } else if (name.startsWith("is")) { name = name.substring(2); name = name.substring(0, 1).toLowerCase(Locale.ENGLISH) + name.substring(1); } return name; } public static boolean isGetter(Method method) { String name = method.getName(); Class<?> type = method.getReturnType(); Class<?> params[] = method.getParameterTypes(); if (!GETTER_PATTERN.matcher(name).matches()) { return false; } // special for isXXX boolean if (name.startsWith("is")) { return params.length == 0 && type.getSimpleName().equalsIgnoreCase("boolean"); } return params.length == 0 && !type.equals(Void.TYPE); } private static boolean matches(Class<?>[] parameterTypes, Object[] args) { if ((parameterTypes == null) || (parameterTypes.length == 0)) { return ((args == null) || (args.length == 0)); } if ((args == null) || (parameterTypes.length != args.length)) { return false; } for (int i = 0; i < parameterTypes.length; i++) { if ((args[i] != null) && !parameterTypes[i].isAssignableFrom(args[i].getClass())) { return false; } } return true; } }