
one.edee.oss.proxycian.bytebuddy.ByteBuddyDispatcherInvocationHandler Maven / Gradle / Ivy
package one.edee.oss.proxycian.bytebuddy;
import net.bytebuddy.implementation.bind.annotation.*;
import one.edee.oss.proxycian.CurriedMethodContextInvocationHandler;
import one.edee.oss.proxycian.MethodClassification;
import one.edee.oss.proxycian.cache.ClassMethodCacheKey;
import one.edee.oss.proxycian.trait.ProxyStateAccessor;
import java.lang.invoke.MethodHandle;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.Callable;
import static one.edee.oss.proxycian.bytebuddy.ByteBuddyProxyGenerator.INVOCATION_HANDLER_FIELD;
import static one.edee.oss.proxycian.util.ReflectionUtils.findMethodHandle;
public class ByteBuddyDispatcherInvocationHandler extends AbstractByteBuddyDispatcherInvocationHandler> {
public ByteBuddyDispatcherInvocationHandler(T proxyState, MethodClassification, ?>... methodClassifications) {
super(proxyState, methodClassifications);
}
private ByteBuddyDispatcherInvocationHandler(T proxyState, Collection> methodClassifications) {
super(proxyState, methodClassifications);
}
/**
* This method gets bound and invoked by the ByteBuddy.
*/
@RuntimeType
public static Object interceptMethodCall(
@This Object proxy,
@Origin Method method,
@FieldValue(INVOCATION_HANDLER_FIELD) ByteBuddyDispatcherInvocationHandler> handler,
@SuperCall(nullIfImpossible = true, serializableProxy = true, fallbackToDefault = false) Callable
© 2015 - 2025 Weber Informatics LLC | Privacy Policy