Я работаю над проектом, в котором я позволю пользователям отправлять небольшие «сценарии» на сервер, и я буду выполнять эти сценарии. Существует много языков сценариев, которые могут быть встроены в Java-программу, таких как mvel, ognl, uel, clojure, rhino javascript и т. Д., Но, насколько я могу судить, все они позволяют сценаристу вызывать конструкторы Java, методы и т. д.
Я не хочу, чтобы мои пользователи могли вызывать то, что я им не предоставляю (обычно через какой-то объект контекста). Большинство их сценариев будут арифметическими и логическими выражениями, в некоторых случаях им потребуется пройти через свойства объекта (получатели / установщики) или содержимое карты. Я просто не хочу, чтобы они убегали из песочницы, которую я им предоставляю.
Есть предложения?