-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHandler.java
More file actions
30 lines (24 loc) · 940 Bytes
/
Handler.java
File metadata and controls
30 lines (24 loc) · 940 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
public class Handler implements InvocationHandler {
private Object hidden;
public Handler(Object hidden) {
this.hidden = hidden;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
long time = System.nanoTime();
System.out.print(hidden + ".".concat(method.getName()).concat("("));
for (int i = 0; i < args.length; i++) {
System.out.print(args[i]);
if (i != args.length - 1) {
System.out.print(", ");
}
}
System.out.println(")".concat(System.lineSeparator()));
Object object = method.invoke(hidden, args);
System.out.println("Time: ".concat(String.valueOf(System.nanoTime() - time).
concat(" ns").concat(System.lineSeparator())));
return object;
}
}