Существует четыре типа: местоположение, язык, технология и промышленность.Для каждого типа существует хранилище, которое может возвращать коллекцию этих типов.Например список мест.Каждый тип имеет свойство name с типом String.Есть список строк.который может содержать имена Locations, Languages и т. д. Я хотел бы написать функцию для поиска тех типизированных сущностей (Location, Language, ...), которые соответствуют именам списка String.Я думал о чем-то вроде этого:
def find[T](names: String): Set[T] = {
val collection = T match {
case Language => LanguageRepository.getAll
case Location => LocationRepository.getAll
case Teehnology => TechnologyRepository.getAll
case Industry => IndustryRepository.getAll
}
// find the elements in the collection
}
Это не правильно, так как можно выполнить запрос к коллекции, и после этого, как я могу быть уверен, что свойство name существует?