Here you can find the source of getClassHierarchy(Class> c, boolean includeInterfaces)
protected static List<Class<?>> getClassHierarchy(Class<?> c, boolean includeInterfaces)
//package com.java2s; /**/* w w w . ja v a 2 s . co m*/ * Copyright 2005-2014 The Kuali Foundation * * Licensed under the Educational Community 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.opensource.org/licenses/ecl2.php * * 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.util.ArrayList; import java.util.List; public class Main { protected static List<Class<?>> getClassHierarchy(Class<?> c, boolean includeInterfaces) { List<Class<?>> classes = new ArrayList<Class<?>>(); while (c != Object.class) { classes.add(c); if (includeInterfaces) { Class<?>[] interfaces = c.getInterfaces(); for (Class<?> i : interfaces) { classes.add(i); } } c = c.getSuperclass(); if (c == null) { break; } } return classes; } }