[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/SValentyn/JavaReflection-Demo/master/src/Handler.java [Back]  [Original]

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;
    }
}

Web Proxy Viewer  |  New URL  |  Original Page