Java examples for Reflection:Property
Goes recursively into the interface and gets all defined propertyDescriptors
/******************************************************************************* * Copyright (C) 2011 Angelo Zerr <angelo.zerr@gmail.com>, Pascal Leclercq <pascal.leclercq@gmail.com> * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors:/* ww w . j a v a 2 s . c o m*/ * Angelo ZERR - initial API and implementation * Pascal Leclercq - initial API and implementation *******************************************************************************/ //package com.java2s; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.util.List; public class Main { /** * Goes recursively into the interface and gets all defined * propertyDescriptors * * @param propertyDescriptors * The result list of all PropertyDescriptors the given interface * defines (hierarchical) * @param iface * The interface to fetch the PropertyDescriptors * @throws IntrospectionException */ private static void getInterfacePropertyDescriptors( List propertyDescriptors, Class iface) throws IntrospectionException { BeanInfo beanInfo = Introspector.getBeanInfo(iface); PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors(); for (int i = 0; i < pds.length; i++) { PropertyDescriptor pd = pds[i]; propertyDescriptors.add(pd); } Class[] subIntfs = iface.getInterfaces(); for (int j = 0; j < subIntfs.length; j++) { getInterfacePropertyDescriptors(propertyDescriptors, subIntfs[j]); } } }