Invokes a getter method on a given bean - Java Reflection

Java examples for Reflection:Getter

Description

Invokes a getter method on a given bean

Demo Code

/*/*from w ww . j  a va2 s  .c om*/
 * Copyright (c) 2012 Data Harmonisation Panel
 * 
 * All rights reserved. This program and the accompanying materials are made
 * available under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation, either version 3 of the License,
 * or (at your option) any later version.
 * 
 * You should have received a copy of the GNU Lesser General Public License
 * along with this distribution. If not, see <http://www.gnu.org/licenses/>.
 * 
 * Contributors:
 *     HUMBOLDT EU Integrated Project #030962
 *     Data Harmonisation Panel <http://www.dhpanel.eu>
 */
//package com.java2s;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Main {
    /**
     * Invokes a getter method on a given bean
     * 
     * @param <T> the result type
     * @param bean the object to invoke the getter on
     * @param getter the getter method
     * @return the property's value
     * @throws IllegalArgumentException if the argument's type is invalid
     * @throws IllegalAccessException if the getter is not accessible
     * @throws InvocationTargetException if the getter throws an exception
     */
    @SuppressWarnings("unchecked")
    private static <T> T invokeGetter(Object bean, Method getter)
            throws IllegalArgumentException, IllegalAccessException,
            InvocationTargetException {
        boolean accessible = getter.isAccessible();
        getter.setAccessible(true);
        T result = null;
        try {
            result = (T) getter.invoke(bean);
        } finally {
            getter.setAccessible(accessible);
        }

        return result;
    }
}

Related Tutorials