java - Compile class while running and use it -


i want make interactive program allows users change behaviour of 1 method while program running. user should able change between

public int result(){ 

and }.

then, program should able access method , needs do.

is possible in java? heard classloader, unable find tips how use it.

you can use java runtime compiler takes code in string, compiles memory , loads current classloader or 1 of choice.

here hello world program

 string classname = "mypackage.myclass";  string javacode = "package mypackage;\n" +                   "public class myclass implements runnable {\n" +                   "    public void run() {\n" +                   "        system.out.println("\"hello world\");\n" +                   "    }\n" +                   "}\n";  class aclass = compilerutils.cached_compiler.loadfromjava(classname, javacode);  runnable runner = (runnable) aclass.newinstance();  runner.run(); 

in case string needs like

 string codeinmethod = ....  string javacode = "package mypackage;\n" +                    "public class myclass implements returnsint {\n" +                    "    public int result() {\n" +                    codeinmethod +                    "    }\n" +                    "}\n"; 

you need create interface implement way of calling instance of class once created. (or use reflection shame)

note: should code trust otherwise code can machine.


Comments

Popular posts from this blog

sublimetext3 - what keyboard shortcut is to comment/uncomment for this script tag in sublime -

java - No use of nillable="0" in SOAP Webservice -

ubuntu - Laravel 5.2 quickstart guide gives Not Found Error -