@Retention(value=RUNTIME) @Target(value=METHOD) public @interface VetoTopicPatternSubscriber
This annotation simplifies much of the repetitive boilerplate used for adding veto topic pattern listeners (which in EventBus 2.0 will be called VetoTopicPatternSubscribers, thus this annotation name difference) to EventService Events. Example:
public class MyAppController { public MyAppController { AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect } @EvenTopicSubscriber(topic="App.Close.*") public void onAppClosingEvent(String topic, Object payload) { //close connections, close windows } } public class MyDocumentController { @VetoTopicSubscriber(topic="App.Close.*") public boolean ensureDocumentIsSaved(String topic, Object payload) { if (docHasUnsavedChanges()) { boolean answer = MyModalDialog.show("Are you sure you want to close and lose your changes?"); if (answer == StandardButtonValues.Cancel) { //stop processing this event return true; } } //It's OK to close return false; } }
Modifier and Type | Required Element and Description |
---|---|
String |
topicPattern
The topic to subscribe to
|
Modifier and Type | Optional Element and Description |
---|---|
Class<? extends EventService> |
autoCreateEventServiceClass
Whether or not to autocreate the event service if it doesn't exist on subscription, default is true.
|
String |
eventServiceName
The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS.
|
int |
priority
Determines the order in which this veto subscriber is called, default is FIFO.
|
ReferenceStrength |
referenceStrength
Whether to subscribe weakly or strongly.
|
public abstract String topicPattern
public abstract int priority
public abstract ReferenceStrength referenceStrength
public abstract String eventServiceName
public abstract Class<? extends EventService> autoCreateEventServiceClass
Copyright © 2013 Bushe Enterprises, Inc.. All rights reserved.