Java Reflection Field Find findField(Class clazz, String name)

Here you can find the source of findField(Class clazz, String name)

Description

find Field

License

Open Source License

Declaration

public static Field findField(Class<?> clazz, String name) 

Method Source Code


//package com.java2s;
//License from project: Open Source License 

import java.lang.reflect.Field;

public class Main {

    public static Field findField(Class<?> clazz, String name) {
        return findField(clazz, name, null);
    }//from   ww  w  .  j av  a2 s  .c  o m

    public static Field findField(Class<?> clazz, String name, Class<?> type) {
        if (clazz == null) {
            throw new IllegalArgumentException("Class must not be null");
        }

        if (name == null && type == null) {
            throw new IllegalArgumentException("Either name or type of the field must be specified");
        }

        Class<?> searchType = clazz;

        while (!Object.class.equals(searchType) && searchType != null) {
            Field[] fields = searchType.getDeclaredFields();

            for (Field field : fields) {
                if ((name == null || name.equals(field.getName()))
                        && (type == null || type.equals(field.getType()))) {
                    return field;
                }
            }

            searchType = searchType.getSuperclass();
        }

        return null;
    }
}

Related

  1. findField(Class clazz, String fieldName)
  2. findField(Class clazz, String fieldName)
  3. findField(Class clazz, String fieldName)
  4. findField(Class clazz, String fname, boolean isSearchSuperclass)
  5. findField(Class clazz, String name)
  6. findField(Class clazz, String name)
  7. findField(Class clazz, String name)
  8. findField(Class clazz, String name)
  9. findField(Class clazz, String name)