java.lang.Class.getInterfaces
возвращает все непосредственно реализованные интерфейсы, т.е. не проходит дерево классов, чтобы получить все интерфейсы всех родительских типов. Например, иерархия
public interface A {}
public interface B {}
public interface C extends B {}
public class Foo implements A {} // Foo.class.getInterfaces() returns [A]
public class Bar implements C {} // Bar.class.getInterfaces() returns [C], note B is not included.
Для Bar
я хотел бы получить [B, C]
, но для любой произвольной глубины дерева.
Я мог бы написать это сам, но я уверен, что библиотека должна существовать, которая делает это уже, любые идеи?