Java Reflection Method Getter Get getGetter(Object o, String name)

Here you can find the source of getGetter(Object o, String name)

Description

get Getter

License

Apache License

Declaration

public static Method getGetter(Object o, String name) 

Method Source Code

//package com.java2s;
/*/* w  w  w.j av a 2s.  com*/
* Copyright (c) 2010 Red Hat, Inc.
*
* 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
*
*           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;

public class Main {
    private static final String GET_ROOT = "get";
    private static final String IS_ROOT = "is";

    public static Method getGetter(Object o, String name) {
        String capitalizedName = capitalize(name);
        Method method = getMethod(o, GET_ROOT + capitalizedName);
        return (method != null ? method : getMethod(o, IS_ROOT + capitalizedName));
    }

    public static String capitalize(String s) {
        return Character.isLowerCase(s.charAt(0)) ? s.substring(0, 1).toUpperCase() + s.substring(1) : s;
    }

    private static Method getMethod(Object o, String name) {
        Method ret = null;
        for (Method m : o.getClass().getMethods()) {
            if (m.getName().equals(name)) {
                ret = m;
                break;
            }
        }
        return ret;
    }
}

Related

  1. getGetter(final Class clazz, final String fieldName)
  2. getGetter(final Class clz, final String propertyName)
  3. getGetter(final Object o, final String fieldName)
  4. getGetter(Object bean, String property)
  5. getGetter(Object instance, String methodName)
  6. getGetter(Object object, String name)
  7. getGetter(String key, Class clazz)
  8. getGetter(String name, Type type)
  9. getGetter(String propertyName, Class clazz)