Besorge alle Klassen, die ein Merkmal in Scala durch Reflexion implementieren

8

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.

%Vor%

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.

    
Yadu Krishnan 30.12.2015, 13:41
quelle

1 Antwort

4

Mit Blick auf den Quellcode scheint das Problem zu sein, dass es nicht der Schnittstellenhierarchie folgt. Wenn Sie das tun, finden Sie alle Instanzen:

%Vor%     
0__ 30.12.2015, 17:35
quelle

Tags und Links