Я хочу создать класс, который может запускать метод до тех пор, пока не будет выполнено условие о возвращаемом значении.
Он должен выглядеть примерно так:
methodPoller.poll(pollDurationSec, pollIntervalMillis)
.method(dog.bark())
.until(dog -> dog.bark().equals("Woof"))
.execute();
Мой метод-опроллер выглядит примерно так:()//следующий ответ GuiSim
public class MethodPoller {
Duration pollDurationSec;
int pollIntervalMillis;
public MethodPoller() {
}
public MethodPoller poll(Duration pollDurationSec, int pollIntervalMillis) {
this.pollDurationSec = pollDurationSec;
this.pollIntervalMillis = pollIntervalMillis;
return this;
}
public <T> MethodPoller method(Supplier<T> supplier) {
return this;
}
public <T> MethodPoller until(Predicate<T> predicate) {
return this;
}
}
Но мне сложно с этим справиться.
Как я могу реализовать повтор общего метода до тех пор, пока условие не будет выполнено?
Спасибо.