/** * Subscribe event listener. The event to subscribe to is inferred by checking the generic type * arguments of the given subscriber. * * @param subscriber event subscriber */ public void subscribe(EventSubscriber<?> subscriber) { final Class<?> eventType = getEventType(subscriber); doSubscribe(subscriber, eventType); }
/** * Unsubscribe event listener. * * @param subscriber event subscriber */ public void unsubscribe(EventSubscriber<?> subscriber) { final Class<?> eventType = getEventType(subscriber); doUnsubscribe(subscriber, eventType); }
/** * Subscribe to an event. The given subscriber will be called whenever an instance of the * specified event is published. * * @param subscriber The subscriber to call when an event is published. * @param eventType The event to subscribe to. */ public <T> void subscribe(EventSubscriber<? extends T> subscriber, Class<T> eventType) { doSubscribe(subscriber, eventType); }
public <T> void register( String method, Class<T> eventType, BiPredicate<T, Map<String, String>> biPredicate) { eventService.subscribe( event -> remoteSubscriptionStorage .getByMethod(method) .stream() .filter(context -> biPredicate.test(event, context.getScope())) .forEach(context -> transmit(context.getEndpointId(), method, event)), eventType); }
@PreDestroy public void unsubscribe() { eventService.unsubscribe(this, StackPersistedEvent.class); } }
@Inject private void subscribe(EventService eventService) { eventService.subscribe(this); } }
/** * Informs about workspace creation. * * @author Sergii Leschenko */ @EventOrigin("workspace") public class WorkspaceCreatedEvent { private final Workspace workspace; public WorkspaceCreatedEvent(Workspace workspace) { this.workspace = workspace; } public Workspace getWorkspace() { return workspace; } }
@Override public void showMessage(MessageParams messageParams) { eventService.publish(messageParams); }
private void consumeSubscriptionRequest(String endpointId, EventSubscription eventSubscription) { remoteSubscriptionStorage.addSubscription( eventSubscription.getMethod(), new RemoteSubscriptionContext(endpointId, eventSubscription.getScope())); }
@PostConstruct private void postConstruct() { remoteSubscriptionManager.register( SERVER_STATUS_CHANGED_METHOD, ServerStatusEvent.class, this::predicate); }
public <T> void unsubscribe(EventSubscriber<T> subscriber, Class<T> eventType) { doUnsubscribe(subscriber, eventType); }
@PreDestroy public void unsubscribe() { eventService.unsubscribe(this, BeforeStackRemovedEvent.class); }
/** * Published after stack instance is persisted. * * @author Yevhenii Voevodin */ @EventOrigin("stack") public class StackPersistedEvent extends PersistEvent { private final Stack stack; public StackPersistedEvent(Stack stack) { this.stack = stack; } public Stack getStack() { return stack; } }
private <T> void handle(T event) { eventService.publish(event); } }
@PostConstruct private void postConstruct() { remoteSubscriptionManager.register( "runtime/statusChanged", RuntimeStatusEvent.class, this::predicate); }
@PreDestroy public void unsubscribe() { eventService.unsubscribe(this, BeforeWorkspaceRemovedEvent.class); }
/** * Informs that workspace was removed. * * @author Sergii Leschenko * @author Alexander Andrienko */ @EventOrigin("workspace") public class WorkspaceRemovedEvent { private final Workspace workspace; public WorkspaceRemovedEvent(Workspace workspace) { this.workspace = workspace; } public Workspace getWorkspace() { return workspace; } }
@PreDestroy public void unsubscribe() { eventService.unsubscribe(this, BeforeUserRemovedEvent.class); }
/** @author gazarenkov */ @EventOrigin("vfs") @DTO public interface VfsWatchEvent { String VFS_CHANNEL = "vfs"; String getPath(); VfsWatchEvent withPath(String path); FileWatcherEventType getType(); VfsWatchEvent withType(FileWatcherEventType type); boolean isFile(); VfsWatchEvent withFile(boolean isFile); }
@PreDestroy private void unsubscribe() { eventService.unsubscribe(this); }