Package jadex.bytecode
Class Proxy
- java.lang.Object
- 
- jadex.bytecode.Proxy
 
- 
 public class Proxy extends java.lang.ObjectProxy class allows for generating proxy objects for interfaces and/or one class. Both sides are optional. Uses the InvocationHandler from standard Java interface proxy mechanism.
- 
- 
Field SummaryFields Modifier and Type Field Description static java.util.Map<Tuple2<java.lang.ClassLoader,java.util.Set<java.lang.Class<?>>>,java.lang.Class<?>>CLASSCACHEstatic java.util.concurrent.atomic.AtomicIntegerCOUNTERstatic java.util.Set<java.lang.String>OBJECTMETHODS
 - 
Constructor SummaryConstructors Constructor Description Proxy()
 - 
Method SummaryAll Methods Static Methods Concrete Methods Modifier and Type Method Description protected static org.objectweb.asm.tree.MethodNodegenrateInvocationCode(org.objectweb.asm.tree.MethodNode m, java.lang.String classname, java.lang.Class<?> iface, java.lang.ClassLoader loader)Generate the code for delegating the call to the invocation handler.static java.lang.reflect.InvocationHandlergetInvocationHandler(java.lang.Object proxy)Get the invocation handler of a proxy.static voidmain(java.lang.String[] args)Main for testing.static java.lang.ObjectnewProxyInstance(java.lang.ClassLoader loader, java.lang.Class<?>[] ifaces, java.lang.reflect.InvocationHandler handler)Generate a proxy for an existing class.static java.lang.ObjectnewProxyInstance(java.lang.ClassLoader loader, java.lang.Class<?> clazz, java.lang.Class<?>[] ifaces, java.lang.reflect.InvocationHandler handler)Generate a proxy for an existing class.
 
- 
- 
- 
Field Detail- 
OBJECTMETHODSpublic static final java.util.Set<java.lang.String> OBJECTMETHODS 
 - 
COUNTERpublic static final java.util.concurrent.atomic.AtomicInteger COUNTER 
 - 
CLASSCACHEpublic static final java.util.Map<Tuple2<java.lang.ClassLoader,java.util.Set<java.lang.Class<?>>>,java.lang.Class<?>> CLASSCACHE 
 
- 
 - 
Method Detail- 
getInvocationHandlerpublic static java.lang.reflect.InvocationHandler getInvocationHandler(java.lang.Object proxy) Get the invocation handler of a proxy.- Parameters:
- proxy-
- Returns:
- The handler
 
 - 
newProxyInstancepublic static java.lang.Object newProxyInstance(java.lang.ClassLoader loader, java.lang.Class<?>[] ifaces, java.lang.reflect.InvocationHandler handler)Generate a proxy for an existing class.- Parameters:
- loader- The class loader.
- ifaces- The interfaces (may contain one clazz).
- handler- The invocation handler.
- Returns:
- The new proxy extending the clazz and implementing all interfaces.
 
 - 
newProxyInstancepublic static java.lang.Object newProxyInstance(java.lang.ClassLoader loader, java.lang.Class<?> clazz, java.lang.Class<?>[] ifaces, java.lang.reflect.InvocationHandler handler)Generate a proxy for an existing class.- Parameters:
- loader- The class loader.
- clazz- The clazz.
- ifaces- The interfaces.
- handler- The invocation handler.
- Returns:
- The new proxy extending the clazz and implementing all interfaces.
 
 - 
genrateInvocationCodeprotected static org.objectweb.asm.tree.MethodNode genrateInvocationCode(org.objectweb.asm.tree.MethodNode m, java.lang.String classname, java.lang.Class<?> iface, java.lang.ClassLoader loader) throws java.lang.ExceptionGenerate the code for delegating the call to the invocation handler.- Parameters:
- m- The methodnode.
- classname- The class name.
- iface- The interface (null means the class is owner of the method)
- Returns:
- The new method node (or null).
- Throws:
- java.lang.Exception
 
 - 
mainpublic static void main(java.lang.String[] args) throws java.lang.ExceptionMain for testing.- Throws:
- java.lang.Exception
 
 
- 
 
-