Returns the field with the given name on the type lowest in the class hierarchy. - Java Reflection

Java examples for Reflection:Field

Description

Returns the field with the given name on the type lowest in the class hierarchy.

Demo Code

/**//from w  w  w . ja va  2s  .c  o  m
 * 
 * Funf: Open Sensing Framework
 * Copyright (C) 2010-2011 Nadav Aharony, Wei Pan, Alex Pentland.
 * Acknowledgments: Alan Gardner
 * Contact: nadav@media.mit.edu
 * 
 * This file is part of Funf.
 * 
 * Funf 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.
 * 
 * Funf 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.
 * 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 Funf. If not, see <http://www.gnu.org/licenses/>.
 * 
 */
//package com.java2s;

import java.lang.reflect.Field;

public class Main {


    /**
     * Returns the field with the given name on the type lowest in the class hierarchy.
     * 
     * @param name The name of the field to get
     * @param type The class on which to search for the field.
     * @return The field with this name lowest in the hierarchy, otherwise null if the field does not exist in the class hierarchy.
     */
    public static Field getField(String name, Class<?> type) {
        for (Field field : type.getDeclaredFields()) {
            if (field.getName().equals(name)) {
                return field;
            }
        }

        if (type.getSuperclass() != null) {
            return getField(name, type.getSuperclass());
        }

        return null;
    }
}

Related Tutorials