Есть ли способ получить доступ к Java картам и спискам как к объектам JavaScript в Rhino?
У меня есть карта, которая содержит только другие карты и списки примитивов и строк, я хотел бы передать ее скрипту Rhino, сделать с ней что-то, и вернуть измененный объект обратно в Java - но поскольку они являются объектами java.util.Map и java.util.List, я не могу использовать стандартный синтаксис ассоциативных массивов JavaScript.
То есть: fooMap.get("keyName")
будет работать, а fooMap.keyName
и fooMap["keyName"]
- нет.
Я не знаю, есть ли специфический для Rhino способ сделать это, или есть какая-то утилита преобразования/кастирования, которая поможет. Commons BeanUtils недостаточно, потому что для преобразования Map в bean (к которому можно получить доступ через синтаксис ассоциативного массива), вы должны сначала создать класс, который имеет все именованные мутаторы/акцессоры. Во время выполнения я не буду знать структуру объекта.