Subversion Repositories bacoAlunos

Rev

Rev 1351 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1351 jmachado 1
package jomm.experiments;
2
 
3
import pt.estgp.estgweb.domain.UserImpl;
4
 
5
import java.io.IOException;
6
import java.lang.reflect.InvocationHandler;
7
import java.lang.reflect.Method;
8
import java.lang.reflect.Proxy;
9
/**
10
 * Created by jorgemachado on 12/04/16.
11
 */
12
public class DynamicProxy implements 1.5.0/docs/api/java/lang/reflect/InvocationHandler.html">InvocationHandler {
13
 
14
 
15
    public 5+0%2Fdocs%2Fapi+Object">Object invoke(5+0%2Fdocs%2Fapi+Object">Object proxy, 1.5.0/docs/api/java/lang/reflect/Method.html">Method method,
16
                         5+0%2Fdocs%2Fapi+Object">Object[] args) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
17
    {
18
        if (method.getName().equals("toString")) {
19
            return super.toString();
20
        }
21
        1.5.0/docs/api/java/lang/System.html">System.out.println("Metodo " + method +
22
                " invocado sobre " + proxy);
23
        return null;
24
    }
25
 
26
 
27
 
28
    public static void main(1.5.0/docs/api/java/lang/String.html">String [] args)
29
            throws 1.5.0/docs/api/java/io/IOException.html">IOException
30
    {
31
 
32
        1.5.0/docs/api/java/lang/ClassLoader.html">ClassLoader cl = DynamicProxy.class.getClassLoader();
33
        UserImpl u = (UserImpl) 5+0%2Fdocs%2Fapi+Proxy">Proxy.newProxyInstance(cl,
34
                new 1.5.0/docs/api/java/lang/Class.html">Class[]{UserImpl.class},
35
                new DynamicProxy());
36
        u.getUsername();
1781 jmachado 37
 
1351 jmachado 38
    }
39
 
40
 
41
}