Gets a Collection of classes extended and interfaces implemented by the specified class (including itself). - Java Reflection

Java examples for Reflection:Interface

Description

Gets a Collection of classes extended and interfaces implemented by the specified class (including itself).

Demo Code

/*/*from  w w w  .  jav  a  2 s . c om*/
 Copyright 2005-2006 Seth Fitzsimmons <seth@mojodna.net>

 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.
 */
//package com.java2s;

import java.util.Collection;
import java.util.HashSet;

public class Main {


    /**
     * Gets a Collection of classes extended and interfaces implemented by the
     * specified class (including itself).
     * 
     * This could be done with ClassUtils, but this is more direct.
     * 
     * @param clazz Class to inspect.
     * @return Collection of classes extended and interfaces implemented.
     */
    private static Collection<Class> getClasses(Class clazz) {
        final Collection<Class> classes = new HashSet<Class>();
        while (null != clazz) {
            classes.add(clazz);

            // add implemented interfaces to the list of classes to check
            for (final Class iface : clazz.getInterfaces()) {
                classes.add(iface);
            }

            clazz = clazz.getSuperclass();
        }
        return classes;
    }
}

Related Tutorials