public ISubscriptionIntermediateFuture<String> subscribeToLottery() { final SubscriptionIntermediateFuture<String> ret = new SubscriptionIntermediateFuture<String>(); // final TerminableIntermediateFuture<String> ret = (TerminableIntermediateFuture<String>)SFuture.getNoTimeoutFuture(TerminableIntermediateFuture.class, agent); ret.setTerminationCommand(new ITerminationCommand() { public void terminated(Exception reason) { subscriptions.remove(ret); } public boolean checkTermination(Exception reason) { return true; } }); subscriptions.add(ret); return ret; }
/** * Subscribe to events from the chat service. * @return A future publishing chat events as intermediate results. */ public ISubscriptionIntermediateFuture<ChatEvent> subscribeToEvents() { if(subscribers==null) { subscribers = new LinkedHashSet<SubscriptionIntermediateFuture<ChatEvent>>(); } final SubscriptionIntermediateFuture<ChatEvent> ret = new SubscriptionIntermediateFuture<ChatEvent>(); subscribers.add(ret); ret.setTerminationCommand(new TerminationCommand() { public void terminated(Exception reason) { subscribers.remove(ret); } }); return ret; }
/** * Subscribe to events from the chat service. * @return A future publishing chat events as intermediate results. */ public ISubscriptionIntermediateFuture<ChatEvent> subscribeToEvents() { // final SubscriptionIntermediateFuture<ChatEvent> ret = new SubscriptionIntermediateFuture<ChatEvent>(); final SubscriptionIntermediateFuture<ChatEvent> ret = (SubscriptionIntermediateFuture<ChatEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); if(subscribers==null) { subscribers = new LinkedHashSet<SubscriptionIntermediateFuture<ChatEvent>>(); } subscribers.add(ret); ret.setTerminationCommand(new TerminationCommand() { public void terminated(Exception reason) { subscribers.remove(ret); } }); return ret; }
/** * Subscribe to the time service. * Every couple of seconds, a string with the current time will be * sent to the subscriber. */ public ISubscriptionIntermediateFuture<String> subscribe() { // Add a subscription to the set of subscriptions. final SubscriptionIntermediateFuture<String> ret = new SubscriptionIntermediateFuture<String>(); subscriptions.add(ret); ret.setTerminationCommand(new TerminationCommand() { /** * The termination command allows to be informed, when the subscription ends, * e.g. due to a communication error or when the service user explicitly * cancels the subscription. */ public void terminated(Exception reason) { System.out.println("removed subscriber due to: "+reason); subscriptions.remove(ret); } }); return ret; }
ret.setTerminationCommand(new TerminationCommand()
/** * Subscribe to rule executions. */ public ISubscriptionIntermediateFuture<RuleEvent> subscribeToEngine() { final SubscriptionIntermediateFuture<RuleEvent> ret = (SubscriptionIntermediateFuture<RuleEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); ret.setTerminationCommand(new TerminationCommand() { public void terminated(Exception reason) { resubscribers.remove(ret); } }); resubscribers.add(ret); // signal with null subscribe done ret.addIntermediateResultIfUndone(null); return ret; }
/** * Subscribe to rule executions. */ public ISubscriptionIntermediateFuture<RuleEvent> subscribeToEngine() { final SubscriptionIntermediateFuture<RuleEvent> ret = (SubscriptionIntermediateFuture<RuleEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); ret.setTerminationCommand(new TerminationCommand() { public void terminated(Exception reason) { resubscribers.remove(ret); } }); resubscribers.add(ret); // signal with null subscribe done ret.addIntermediateResultIfUndone(null); return ret; }
/** * Subscribe to rule executions. */ public ISubscriptionIntermediateFuture<RuleEvent> subscribeToEngine() { final SubscriptionIntermediateFuture<RuleEvent> ret = (SubscriptionIntermediateFuture<RuleEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); ret.setTerminationCommand(new TerminationCommand() { public void terminated(Exception reason) { resubscribers.remove(ret); } }); resubscribers.add(ret); // signal with null subscribe done ret.addIntermediateResultIfUndone(null); return ret; }
/** * Subscribe to the newsprovider. */ public ISubscriptionIntermediateFuture<String> subscribeToNews() { final SubscriptionIntermediateFuture<String> ret = (SubscriptionIntermediateFuture<String>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent.getExternalAccess()); ret.setTerminationCommand(new ITerminationCommand() { public void terminated(Exception reason) { subscriptions.remove(ret); } public boolean checkTermination(Exception reason) { return true; } }); subscriptions.add(ret); return ret; } }
/** * Subscribe to rule executions. */ public ISubscriptionIntermediateFuture<RuleEvent> subscribeToEngine() { final SubscriptionIntermediateFuture<RuleEvent> ret = (SubscriptionIntermediateFuture<RuleEvent>)SFuture.getNoTimeoutFuture(SubscriptionIntermediateFuture.class, agent); ret.setTerminationCommand(new TerminationCommand() { public void terminated(Exception reason) { resubscribers.remove(ret); } }); resubscribers.add(ret); // signal with null subscribe done ret.addIntermediateResultIfUndone(null); return ret; }
ret.setTerminationCommand(new TerminationCommand()
ret.setTerminationCommand(new TerminationCommand()
ret.setTerminationCommand(new TerminationCommand()