Java Reflection Generic Type from Class getGenericTypesImpl(ParameterizedType ptype, List> classes)

Here you can find the source of getGenericTypesImpl(ParameterizedType ptype, List> classes)

Description

get Generic Types Impl

License

Apache License

Declaration

private static void getGenericTypesImpl(ParameterizedType ptype, List<Class<?>> classes) 

Method Source Code

//package com.java2s;
/******************************************************************************
 *  Copyright 2015 by OLTPBenchmark Project                                   *
 *                                                                            *
 *  Licensed under the Apache License, Version 2.0 (the "License");           *
 *  you may not use this file except in compliance with the License.          *
 *  You may obtain a copy of the License at                                   *
 *                                                                            *
 *    http://www.apache.org/licenses/LICENSE-2.0                              *
 *                                                                            *
 *  Unless required by applicable law or agreed to in writing, software       *
 *  distributed under the License is distributed on an "AS IS" BASIS,         *
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  *
 *  See the License for the specific language governing permissions and       *
 *  limitations under the License.                                            *
 ******************************************************************************/

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

import java.util.List;

public class Main {
    private static void getGenericTypesImpl(ParameterizedType ptype, List<Class<?>> classes) {
        // list the actual type arguments
        for (Type t : ptype.getActualTypeArguments()) {
            if (t instanceof Class) {
                //                System.err.println("C: " + t);
                classes.add((Class<?>) t);
            } else if (t instanceof ParameterizedType) {
                ParameterizedType next = (ParameterizedType) t;
                //                System.err.println("PT: " + next);
                classes.add((Class<?>) next.getRawType());
                getGenericTypesImpl(next, classes);
            }//from   ww  w.  j  a va  2s .c  o  m
        } // FOR
        return;
    }
}

Related

  1. getGenericTypeOfParameter(Class clazz, String method, int parameterIndex)
  2. getGenericTypeParameter(Class aClass, Class genericClass, int index)
  3. getGenericTypes(Class c)
  4. getGenericTypes(Class clazz)
  5. getGenericTypes(final Class iClass)