Ich möchte alle Fallklassen auflisten, die ein bestimmtes Merkmal implementieren. Ich verwende derzeit Clapper ClassUtil , um das zu tun. Ich bin in der Lage, Fallklassen zu erhalten, die ein Merkmal direkt implementieren. Ich bin jedoch nicht in der Lage, die anderen Klassen zu bekommen, die das Merkmal nicht direkt implementieren. Wie bekomme ich alle Klassen, die direkt oder indirekt ein Merkmal implementieren? ?
%Vor% Scala Version: 2.11
Clapper Class Util Version: 1.0.6
Gibt es eine andere Möglichkeit, wie ich diese Informationen bekommen kann? Kann mir jemand in die richtige Richtung zeigen?
Ich habe versucht, scala.reflect
zu verwenden, konnte aber nicht verstehen, wie ich die Informationen erhalten soll.
Beispielmerkmale und -nutzungen:
%Vor% Nun, wenn ich das Merkmal als NamedEntity
gebe, sollte es mir möglich sein, sowohl Department
als auch User
zu erhalten, da beide direkt oder indirekt NamedEntity implementieren. Mit der Methode implements
wird nur der Benutzer angegeben. Ich habe auch versucht, mit interfaces
Methode, die auch nur die direkten Super-Klassen zur Verfügung stellen.
Tags und Links scala reflection traits