![JAR search and dependency download from the Maven repository](/logo.png)
io.vtom.vertx.pipeline.component.timer.VtmTimerStream Maven / Gradle / Ivy
package io.vtom.vertx.pipeline.component.timer;
import io.vertx.core.*;
import io.vtom.vertx.pipeline.step.StepOUT;
public class VtmTimerStream extends AbstractTimer {
private long delay;
private Handler exceptionHandler;
private Handler handler;
private Long fetch;
private Handler endHandler;
public VtmTimerStream(long delay) {
this.delay = delay;
}
public VtmTimerStream exceptionHandler(Handler exceptionHandler) {
this.exceptionHandler = exceptionHandler;
return this;
}
public VtmTimerStream handler(Handler handler) {
this.handler = handler;
return this;
}
public VtmTimerStream fetch(Long fetch) {
this.fetch = fetch;
return this;
}
public VtmTimerStream endHandler(Handler endHandler) {
this.endHandler = endHandler;
return this;
}
@Override
public StepOUT out() {
return new VtmTimerOut(stepskips()) {
@Override
public void execute(Vertx vertx, Handler> _handler) {
TimeoutStream stream = vertx.timerStream(delay);
if (exceptionHandler != null)
stream.exceptionHandler(exceptionHandler);
if (endHandler != null)
stream.endHandler(endHandler);
if (fetch != null)
stream.fetch(fetch);
if (handler != null)
stream.handler(handler);
_handler.handle(Future.succeededFuture(stream));
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy