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

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

Description

Returns the method of a given object which is the getter-method of a given field whose name is expected to be like getFieldname.

License

Open Source License

Parameter

Parameter Description
o The object containing the getter-method.
fieldName The field whose getter-method is desired

Return

the reflected method. Is null if method was not found in the given object

Declaration

public static Method getGetter(final Object o, final String fieldName) 

Method Source Code

//package com.java2s;
/**/*from   ww w.  ja v  a2s.  com*/
 * Made by Kay Lerch (https://twitter.com/KayLerch)
 *
 * Attached license applies.
 * This library is licensed under GNU GENERAL PUBLIC LICENSE Version 3 as of 29 June 2007
 */

import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.Optional;

public class Main {
    /**
     * Returns the method of a given object which is the getter-method of a given field
     * whose name is expected to be like getFieldname. Returns null if method not found.
     * @param o The object containing the getter-method.
     * @param fieldName The field whose getter-method is desired
     * @return the reflected method. Is null if method was not found in the given object
     */
    public static Method getGetter(final Object o, final String fieldName) {
        return getMethodWithPrefix(o, fieldName, "get").orElse(null);
    }

    /**
     * Returns any method whose name starts with given prefix and ends with given fieldname where
     * first letter of the fieldname will be uppercased.
     * @param o The object containing the desired method.
     * @param fieldName The fieldname contained in the name of the desired method.
     * @param prefix A prefix string of the method-name
     * @return The reflected method. Is empty if method was not found.
     */
    private static Optional<Method> getMethodWithPrefix(final Object o, final String fieldName,
            final String prefix) {
        final String methodName = prefix + Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1);
        return Arrays.stream(o.getClass().getMethods()).filter(method -> method.getName().equals(methodName))
                .findFirst();
    }
}

Related

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