Mega Code Archive

 
Categories / Java / Reflection
 

Return a List of super-classes for the given class

import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Map; import javax.servlet.http.HttpServletResponse; /*  * Copyright 2005 Joe Walker  *  * 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.  */ /**  * @author Joe Walker [joe at getahead dot ltd dot uk]  */ public class Main {   /**    * Return a List of super-classes for the given class.    * @param clazz the class to look up    * @return the List of super-classes in order going up from this one    */   public static List<Class<?>> getAllSuperclasses(Class<?> clazz)   {       List<Class<?>> classes = new ArrayList<Class<?>>();       Class<?> superclass = clazz.getSuperclass();       while (superclass != null)       {           classes.add(superclass);           superclass = superclass.getSuperclass();       }       return classes;   } }