Package org.awaitility.pollinterval
Class FibonacciPollInterval
- java.lang.Object
-
- org.awaitility.pollinterval.FibonacciPollInterval
-
- All Implemented Interfaces:
PollInterval
public class FibonacciPollInterval extends java.lang.Object implements PollInterval
Generates a non-linear poll interval based on the fibonacci sequence: [0, 1, 1, 2, 3, 5, 8, 13, ..]
-
-
Field Summary
Fields Modifier and Type Field Description private static intDEFAULT_OFFSETprivate intoffsetprivate java.util.concurrent.TimeUnitunit
-
Constructor Summary
Constructors Constructor Description FibonacciPollInterval()Create an instance of theFibonacciPollIntervalwith the time unit ofTimeUnit.MILLISECONDS.FibonacciPollInterval(int offset, java.util.concurrent.TimeUnit unit)Create an instance of theFibonacciPollIntervalwith a supplied time unit.FibonacciPollInterval(java.util.concurrent.TimeUnit unit)Create an instance of theFibonacciPollIntervalwith the supplied time unit starting with offset equal to 0.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description FibonacciPollIntervaland()Syntactic sugarbooleanequals(java.lang.Object o)private intfib(int value, int current, int previous)static FibonacciPollIntervalfibonacci()Syntactic sugar fornew FibonacciPollInterval()protected intfibonacci(int value)Generate the value of the fibonacci sequence fornumber.static FibonacciPollIntervalfibonacci(int offset, java.util.concurrent.TimeUnit unit)Syntactic sugar fornew FibonacciPollInterval(offset, unit)static FibonacciPollIntervalfibonacci(java.util.concurrent.TimeUnit unit)Syntactic sugar fornew FibonacciPollInterval(unit)inthashCode()java.time.Durationnext(int pollCount, java.time.Duration previousDuration)Generate the next durationFibonacciPollIntervaloffset(int offset)Create a newFibonacciPollIntervalwith the same time unit but with a different offsetjava.lang.StringtoString()FibonacciPollIntervalunit(java.util.concurrent.TimeUnit unit)Create a newFibonacciPollIntervalwith the same offset but with a different time unitFibonacciPollIntervalwith()Syntactic sugar
-
-
-
Field Detail
-
DEFAULT_OFFSET
private static final int DEFAULT_OFFSET
- See Also:
- Constant Field Values
-
unit
private final java.util.concurrent.TimeUnit unit
-
offset
private final int offset
-
-
Constructor Detail
-
FibonacciPollInterval
public FibonacciPollInterval()
Create an instance of theFibonacciPollIntervalwith the time unit ofTimeUnit.MILLISECONDS.
-
FibonacciPollInterval
public FibonacciPollInterval(java.util.concurrent.TimeUnit unit)
Create an instance of theFibonacciPollIntervalwith the supplied time unit starting with offset equal to 0.- Parameters:
unit- The time unit- See Also:
FibonacciPollInterval(int, TimeUnit)
-
FibonacciPollInterval
public FibonacciPollInterval(int offset, java.util.concurrent.TimeUnit unit)Create an instance of theFibonacciPollIntervalwith a supplied time unit.- Parameters:
offset- The fibonacci offset. For example if offset is 5 and poll count is 1 then the returned duration will be 8 (sincefib(6)is equal to 8). Default offset is 0. You can set the offset to -1 if you want the first value to befib(0)(i.e. pollCount - offset). By default the first value will befib(1).unit- The time unit
-
-
Method Detail
-
next
public java.time.Duration next(int pollCount, java.time.Duration previousDuration)Generate the next duration- Specified by:
nextin interfacePollInterval- Parameters:
pollCount- The number of times the condition has been polled (evaluated)previousDuration- The duration of the previously returned poll interval- Returns:
- The next duration in the fibonacci sequence.
-
fibonacci
public static FibonacciPollInterval fibonacci()
Syntactic sugar fornew FibonacciPollInterval()- Returns:
- A new instance of
FibonacciPollInterval.
-
fibonacci
public static FibonacciPollInterval fibonacci(java.util.concurrent.TimeUnit unit)
Syntactic sugar fornew FibonacciPollInterval(unit)- Parameters:
unit- The time unit- Returns:
- A new instance of
FibonacciPollInterval.
-
fibonacci
public static FibonacciPollInterval fibonacci(int offset, java.util.concurrent.TimeUnit unit)
Syntactic sugar fornew FibonacciPollInterval(offset, unit)- Parameters:
offset- The fibonacci offset. For example if offset is 5 and poll count is 1 then the returned duration will be 8 (sincefib(6)is equal to 8). Default offset is 0.unit- The time unit- Returns:
- A new instance of
FibonacciPollInterval.
-
with
public FibonacciPollInterval with()
Syntactic sugar- Returns:
- The same of instance of
FibonacciPollInterval
-
and
public FibonacciPollInterval and()
Syntactic sugar- Returns:
- The same of instance of
FibonacciPollInterval
-
unit
public FibonacciPollInterval unit(java.util.concurrent.TimeUnit unit)
Create a newFibonacciPollIntervalwith the same offset but with a different time unit- Returns:
- The same of instance of
FibonacciPollInterval
-
offset
public FibonacciPollInterval offset(int offset)
Create a newFibonacciPollIntervalwith the same time unit but with a different offset- Returns:
- The same of instance of
FibonacciPollInterval
-
fibonacci
protected int fibonacci(int value)
Generate the value of the fibonacci sequence fornumber.- Parameters:
value- The value- Returns:
- the fibonacci number
-
fib
private int fib(int value, int current, int previous)
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-