kullanarak Scala'da bir özelliği uygular tüm sınıfları alın. Bunu yapmak için şu anda Clapper ClassUtil kullanıyorum. Bir özelliği doğrudan uygulayan vaka sınıflarını alabiliyorum. Ancak, doğrudan özelliği olmayan diğer sınıfları elde edemiyorum. Bir özelliği doğrudan veya dolaylı olarak uygulayan tüm sınıfları nasıl alabilirim. ?yansıması
val finder = ClassFinder()
finder.getClasses().filter(_.isConcrete).filter(_.implements("com.myapp.MyTrait"))
Scala Versiyon: 2.11
Klaket Sınıf Util Versiyon: 1.0.6
Bunları bilgi alabilirsiniz başka bir yolu var mı? Birisi beni doğru yöne yönlendirebilir mi? Ben scala.reflect
kullanarak çalıştı ama bilgi almak için nasıl anlayamadık.
EDIT:
Numune özellikleri ve kullanımları: Ben NamedEntity
olarak özelliği verirsen
trait BaseEntity
trait NamedEntity{ val name:String}
trait MasterDataEntity extends NamedEntity
case class Department(id:Long, override val name:String) extends MasterDataEntity
case class Employee(id:Long, name:String) extends BaseEntity
case class User(id:Long, override val name:String) extends NamedEntity
, ben her ikisi de doğrudan veya dolaylı NamedEntity uyguladıklarını beri hem Department
ve User
almak gerekir. implements
yöntemle, sadece kullanıcı verecektir. Ayrıca da sadece doğrudan süper sınıfları sağlayacaktır interfaces
yöntemi kullanılarak çalıştı.
üç özellikleri/sınıfları tanımlamak Could ve ilişkilerini: Bunu yaparsanız, tüm örneklerini bulmak? –
Ben örnek özellikleri ve vaka sınıf kullanımlarını ekledik. –