Scala Reflection - загрузка или поиск классов по признаку
Предоставляет ли API отражения Scala (2.10) более простые средства поиска загруженных классов и фильтрации списка по определенным классам, которые реализуют определенную черту? то есть;
trait Widget {
def turn(): Int
}
class Cog extends Widget {
def turn() = {
5
}
}
class Sprocket extends Widget {
def turn() = {
10
}
}
Я хочу найти в библиотеке классов все, что расширяет Widget и создает экземпляры этих классов. Так что я бы в конечном итоге с экземпляромCog
и я'Sprocket
Мы проделали аналогичные шаги в Java, просматривая каталоги классов, формируя имена классов и используя Class.forName для загрузки объекта Class для последующей проверки. Я'Мне просто интересно, дает ли API-интерфейс отражения scala более простой способ поиска. Все примеры I 'До сих пор мы видели, что всегда начинали с создания экземпляров известного класса, а не с поиска доступных классов.