Gets the property descriptor for the property name from given class. - Java Reflection

Java examples for Reflection:Property

Description

Gets the property descriptor for the property name from given class.

Demo Code

/**   //from  w w  w . jav a  2s  .  c  o  m
 *  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 {
    public static void main(String[] argv) throws Exception {
        Class beanClass = String.class;
        String property = "java2s.com";
        System.out.println(getPropertyDescriptor(beanClass, property));
    }

    /**
     * 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;
    }
}

Related Tutorials