Events 在Google';s事件总线
我有一个监听方法,它在Events 在Google';s事件总线,events,guava,Events,Guava,我有一个监听方法,它在Dummy类中等待FooBarEvent: @Subscribe public void testingEvents(FooBarEvent event) { } 另一方面,我有一个类需要该方法: public class TestEvents{ public TestEvents(event){ FooBarEvent event = new FooBarEvent (...); event.post(event); }
Dummy
类中等待FooBarEvent
:
@Subscribe
public void testingEvents(FooBarEvent event) {
}
另一方面,我有一个类需要该方法:
public class TestEvents{
public TestEvents(event){
FooBarEvent event = new FooBarEvent (...);
event.post(event);
}
}
这是从主类调用的,其行为如下:
EventBus bus = new EventBus();
bus.register(new Dummy());
问题是:如何在testingEvents
(订阅者)获得发布事件的类
(因此,我希望该方法的调用者是TestEvents
类)
谢谢。在我看到的大多数代码中,事件本身都有一个
源
字段,指示事件的起源。您可以只向FooBarEvent
添加一个包含源对象(或仅包含源类,如果您需要的话)的字段吗?在我看到的大多数代码中,事件本身都有一个源字段,指示事件的起源。你能不能在FooBarEvent
中添加一个包含源对象的字段(或者只包含源对象的类,如果你需要的话)?你的答案显然是正确的。但是,我想知道EventBus
是否有一个现成的机制来获取事件的源代码。(事实上,您可能如何实现这样一个功能?)(您可以使用反射来访问它,但这将是丑陋和缓慢的:)您的答案显然是正确的。但是,我想知道EventBus
是否有一种开箱即用的机制,可以获取事件的源代码。(实际上,您可能如何实现这样一个功能?)(您可以使用反射来访问它,但这样做既丑陋又缓慢:)