common-gcore-stubs/src/main/java/org/gcube/common/clients/stubs/jaxws/proxies/MethodRetriever.java

33 lines
751 B
Java

package org.gcube.common.clients.stubs.jaxws.proxies;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import org.gcube.common.authorization.library.provider.CalledMethodProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MethodRetriever<T> implements InvocationHandler{
public static Logger log = LoggerFactory.getLogger(MethodRetriever.class);
private T service;
public MethodRetriever(T service){
this.service= service;
}
public Object invoke(Object proxy, Method method,
Object[] args) throws Throwable {
CalledMethodProvider.instance.set(method.getName());
try{
return method.invoke(service, args);
}finally{
CalledMethodProvider.instance.reset();
}
}
}