1 package com.atlassian.webdriver.waiter.webdriver;
2
3 import com.atlassian.annotations.ExperimentalApi;
4 import com.atlassian.webdriver.waiter.webdriver.function.ConditionFunction;
5 import com.atlassian.webdriver.waiter.ExecutableWaiterQuery;
6 import com.atlassian.webdriver.waiter.FunctionQuery;
7 import com.atlassian.webdriver.waiter.Query;
8 import com.atlassian.webdriver.waiter.webdriver.function.NotFunction;
9
10
11
12
13
14
15
16 @ExperimentalApi
17 class WebDriverFunctionQuery implements FunctionQuery
18 {
19 private final WebDriverQueryBuilder builder;
20 private final ConditionFunction func;
21
22 public WebDriverFunctionQuery(WebDriverQueryBuilder builder, ConditionFunction func)
23 {
24 this.builder = builder;
25 this.func = func;
26 }
27
28 public ExecutableWaiterQuery isTrue()
29 {
30 builder.add(new Query()
31 {
32 @Override
33 public ConditionFunction build()
34 {
35 return func;
36 }
37 });
38 return new WebDriverWaiterQuery.WebDriverExecutableWaiterQuery(builder);
39 }
40
41 public ExecutableWaiterQuery isFalse()
42 {
43 builder.add(new Query()
44 {
45 @Override
46 public ConditionFunction build()
47 {
48 return new NotFunction(func);
49 }
50 });
51 return new WebDriverWaiterQuery.WebDriverExecutableWaiterQuery(builder);
52 }
53
54 }