В Objective-C на Apple есть нечто, называемое «Кодирование значения ключа», которое позволяет вам проходить по графу объектов, используя строки, похожие на пути файловой системы. Существует неформальный протокол (то есть интерфейс), который позволяет объектам возвращать значения на основе «ключа», который они запрашивают. например По умолчанию возвращается значение поля, названного ключом, тогда как реляционные коллекции, такие как NSDictionaries, могут реализовывать более интересное поведение.
Пример псевдокода:
foo.bar = new baz();
foo.bar.mymap = new map();
foo.bar.mymap['bom'] = 2;
foo.valueForKeyPath("bar.mymap.bom") # 2
Есть ли что-нибудь подобное для Java? Это было бы достаточно легко реализовать, но я подумал, что сначала посмотрю.