У меня есть класс Groovy, например
class User {
List<Foo> someFoos = new ArrayList<Foo>()
List<Bar> someBars = new ArrayList<Bar>()
}
. Я могу перебирать эти свойства во время выполнения, используя
def user = new User()
List<MetaProperty> setProperties = user.metaClass.properties.findAll {MetaProperty property ->
property.name.startsWith('some')
}
Если я проверяю тип каждого из этих свойств Set
возвращается
setProperties.each {MetaProperty setProperty ->
assert setProperty.type == Set
}
Есть ли способ во время выполнения, чтобы я мог получить параметр универсального типа (Foo
и Bar
) для каждого из этих свойств?
Я сильно подозреваю, что не могуиз-за стирания типа, но если бы кто-то мог подтвердить мои подозрения, я был бы признателен.