Here you can find the source of findField(Class> c, String property, Class> propertyType)
Parameter | Description |
---|---|
c | the class which would contain the field |
property | the property |
propertyType | the property's type |
public static Field findField(Class<?> c, String property, Class<?> propertyType)
//package com.java2s; /*/*from w ww . j av a2 s. 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.Field; public class Main { /** * Returns a public field for a given property * * @param c the class which would contain the field * @param property the property * @param propertyType the property's type * @return the field or null if there is no field for this property */ public static Field findField(Class<?> c, String property, Class<?> propertyType) { Field result = null; Field[] fields = c.getFields(); for (Field f : fields) { String fn = f.getName(); if (fn.charAt(0) == '_') { // handle code style fn = fn.substring(1); } if (fn.equals(property) && (propertyType == null || f.getType().isAssignableFrom(propertyType))) { result = f; break; } } return result; } }