aop - how to transform interface to abstract by using javassist -


i using javassist library modify class files.

i want modify interface abstract class

for example, original :

public interface javax.servlet.servlet {  public void init(servletconfig config) throws servletexception; }  

modified :

public abstract javax.servlet.servlet {     public void init(servletconfig config) throws servletexception {         system.out.println(config.getservletcontext().getserverinfo());         callmethod(); // implemented original method     } }  

how can apply solution aop(before, after)?

i think first problem approach when try modify interface using javassist attempting redefine interface has been loaded class loader.

one option might bit of classloader tricks: create new classloader doesn't have existing interface loaded (parent system classloader) , have javassist load through (use actclass.toclass() method takes classloader argument). not since manage more 1 classloader not easy.

there might better way achieve goal, , creating new classes might better design. create new class implements need , extends required interface.

moreover suggest take @ dynamic proxies option well. biggest advantage don't need 3rd party libraries create them.


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -