Reputation: 3319
I need to generate class at runtime, each class is mapped to a database table. Such class is model class used in ORM.
When client specify a database table to work with, my application check for existence of corresponding model class , if it does not exist, generate it and load it for use and save it, so next time we don't need to generate this class again
my question is:
some example code that illustrating how to generate simple POJO class is welcome!
best regards!
Upvotes: 5
Views: 3951
Reputation: 17525
Yes, this is possible. And you don't need an external lib. The JDK provides everything you need:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int compilationResult = compiler.run(null, null, null, fileToCompile);
if (compilationResult == 0) {
System.out.println("Compilation is successful");
} else {
System.out.println("Compilation Failed");
}
Check out the JavaCompiler docs.
Upvotes: 7