Here you can find the source of invokeGetter(Object bean, Method getter)
Parameter | Description |
---|---|
T | the result type |
bean | the object to invoke the getter on |
getter | the getter method |
Parameter | Description |
---|---|
IllegalArgumentException | if the argument's type is invalid |
IllegalAccessException | if the getter is not accessible |
InvocationTargetException | if the getter throws an exception |
@SuppressWarnings("unchecked") private static <T> T invokeGetter(Object bean, Method getter) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
//package com.java2s; /*/*from w ww.ja v a 2s .co m*/ * 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> */ 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; } }