The Java Developers Almanac 1.4


Order this book from Amazon.

   
Home > List of Packages > java.lang.reflect  [17 examples]

e111. Creating a Proxy Object

    public interface MyInterface {
        void method();
    }
    
    public class MyInterfaceImpl implements MyInterface {
        public void method() {
        }
    }
    
    public class ProxyClass implements InvocationHandler {
        Object obj;
        public ProxyClass(Object o) {
            obj = o;
        }
    
        public Object invoke(Object proxy, Method m, Object[] args) throws Throwable {
            Object result = null;
            try {
                // Do something before the method is called ...
                result = m.invoke(obj, args);
            } catch (InvocationTargetException e) {
            } catch (Exception eBj) {
            } finally {
                // Do something after the method is called ...
            }
            return result;
        }
    }
    
    // This fragment creates a proxy for a MyInterface object.
    MyInterface myintf = (MyInterface)Proxy.newProxyInstance(
        MyInterface.class.getClassLoader(),
        new Class[]{MyInterface.class},
        new ProxyClass(new MyInterfaceImpl()));
    
    // Invoke the method
    myintf.method();

 Related Examples
e109. Getting the Name of a Member Object
e110. Overriding Default Access

See also: Arrays    Constructors    Fields    Methods    Modifiers   


© 2002 Addison-Wesley.