Я хочу создать класс во время выполнения в Scala. Пока просто рассмотрим простой случай, когда я хочу сделать эквивалент java bean с некоторыми атрибутами, я знаю только эти атрибуты во время выполнения.
Как создать класс scala? Я готов создать из scala исходного файла, если есть способ его скомпилировать и загрузить его во время выполнения, я могу захотеть, поскольку у меня иногда есть сложная функция, которую я хочу добавить в класс. Как я могу это сделать?
Я волнуюсь, что интерпретатор scala, о котором я читал, является песочницей интерпретируемого кода, который он загружает, чтобы он не был доступен для общего приложения, на котором размещен интерпретатор? Если это так, то я бы не смог использовать динамически загруженный класс scala.
В любом случае возникает вопрос: как я могу динамически создавать класс scala во время выполнения и использовать его в своем приложении, лучше всего загрузить его из исходного файла scala во время выполнения, что-то вроде interpreterSource("file.scala")
и его загрузка в мою текущую среду выполнения, второй лучший случай - это создание с помощью методов вызова, т.е. createClass(...)
, чтобы создать его во время выполнения.
Спасибо, Фил