Java examples for Reflection:Property
Gets the return type of property.
/** /*ww w . jav a 2s. com*/ * Copyright (c) 2005-2014 VedantaTree all rights reserved. * * This file is part of ExpressionOasis. * * ExpressionOasis is free software. You can redistribute it and/or modify * it 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. * * ExpressionOasis is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE * OR OTHER DEALINGS IN THE SOFTWARE.See the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with ExpressionOasis. If not, see <http://www.gnu.org/licenses/>. * * Please consider to contribute any enhancements to upstream codebase. * It will help the community in getting improved code and features, and * may help you to get the later releases with your changes. */ //package com.java2s; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; public class Main { /** * Gets the return type of property. * * @param beanClass the class of bean whose property is being inspecting. * @param property the name of property * @return the type of property. Returns <code>null</code> if the property name * if not found in bean class. * @throws IntrospectionException */ public static final Class getPropertyType(Class beanClass, String property) throws IntrospectionException { // Gets the property descriptor for property name. PropertyDescriptor descriptor = getPropertyDescriptor(beanClass, property); return descriptor == null ? null : descriptor.getPropertyType(); } /** * Gets the property descriptor for the property name from given class. * * @param beanClass the class of bean * @param property the name of property. * @return the property descriptor if property name found else return <code>null</code>. * @throws IntrospectionException */ public static final PropertyDescriptor getPropertyDescriptor( Class beanClass, String property) throws IntrospectionException { BeanInfo beanInfo = Introspector.getBeanInfo(beanClass); PropertyDescriptor[] descriptors = beanInfo .getPropertyDescriptors(); int length = descriptors == null ? 0 : descriptors.length; for (int i = 0; i < length; i++) { if (descriptors[i].getDisplayName().equals(property)) { return descriptors[i]; } } return null; } }