package com.bergerkiller.bukkit.common.reflection.gen; import java.lang.reflect.Method; import java.util.Map; public class ProxyCallbackSignature implements CallbackSignature { private final Method callbackMethod; public ProxyCallbackSignature(Method callbackMethod) { this.callbackMethod = callbackMethod; } @Override public CallbackMethod createCallback(Object instance, Map<Class<?>, Object> callbackInstances) { final Class<?> declaringClass = callbackMethod.getDeclaringClass(); final Object callbackInstance = callbackInstances.get(declaringClass); if (instance == null) { throw new RuntimeException("No callback instance found for Class '" + declaringClass.getName() + "'!"); } return new ProxyCallbackMethod(callbackMethod, callbackInstance); } }