Go to most recent revision | Details | 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(); |
||
37 | u.getCourses(); |
||
38 | } |
||
39 | |||
40 | |||
41 | } |