Util.java Source code

Java tutorial

Introduction

Here is the source code for Util.java

Source

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

public class Util {
    /**
       * Locates generic declaration by index on a class.
       * 
       * @param clazz clazz The class to introspect
       * @param index the Index of the generic ddeclaration,start from 0.
       */
    public static Class getGenericClass(Class clazz, int index) {
        Type genType = clazz.getGenericSuperclass();

        if (genType instanceof ParameterizedType) {
            Type[] params = ((ParameterizedType) genType).getActualTypeArguments();

            if ((params != null) && (params.length >= (index - 1))) {
                return (Class) params[index];
            }
        }
        return null;
    }

}