Java Reflection Interface Get getInterfaces(Class clazz)

Here you can find the source of getInterfaces(Class clazz)

Description

get Interfaces

License

Apache License

Declaration

public static Class<?>[] getInterfaces(Class<?> clazz) 

Method Source Code

//package com.java2s;
/*/*from ww w .j a v a  2  s  .  c  o  m*/
 * Copyright 2009 zaichu xiao
 *
 * 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.util.*;

public class Main {
    public static Class<?>[] getInterfaces(Class<?> clazz) {
        if (clazz.isInterface())
            return new Class[] { clazz };
        ArrayList<Class<?>> list = new ArrayList<>();
        do
            for (Class<?> iface : clazz.getInterfaces()) {
                if (!list.contains(iface))
                    list.add(iface);
            }
        while ((clazz = clazz.getSuperclass()) != null);
        return list.toArray(new Class[0]);
    }
}

Related

  1. getImplementedInterfaces(Class cl)
  2. getInterfaceInstance(Class interfaceType)
  3. getInterfaceNames(Class c)
  4. getInterfaces(Class clazz)
  5. getInterfaces(Class c)
  6. getInterfaces(Class clazz)
  7. getInterfaces(final Class type)
  8. getInterfaces(Object owner, String[] interfaceStrings)
  9. getInterfacesForClass(Class type)