package org.unbrokendome.eventbus.proxy; import org.unbrokendome.eventbus.Subscribe; import java.lang.reflect.Method; final class ReflectiveEventSubscriberInfo implements EventSubscriberInfo { private final String beanName; private final Class<?> beanClass; private final Method subscriberMethod; private final Subscribe annotation; public ReflectiveEventSubscriberInfo(String beanName, Class<?> beanClass, Method subscriberMethod, Subscribe annotation) { this.beanName = beanName; this.beanClass = beanClass; this.subscriberMethod = subscriberMethod; this.annotation = annotation; } @Override public String getBeanName() { return beanName; } @Override public Class<?> getBeanClass() { return beanClass; } @Override public String getSubscriberMethodName() { return subscriberMethod.getName(); } @Override public Class<?> getEventType() { return subscriberMethod.getParameterTypes()[0]; } @Override public boolean isAsync() { return annotation.async(); } }