Skip to content

Commit d28c76d

Browse files
Generic searching interfaces
Changes from the SeleniumHQ/selenium#863
1 parent 8f5f2a0 commit d28c76d

File tree

10 files changed

+22
-22
lines changed

10 files changed

+22
-22
lines changed

src/main/java/org/openqa/selenium/SearchContext.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public interface SearchContext {
2727
* @return A list of all {@link WebElement}s, or an empty list if nothing matches
2828
* @see org.openqa.selenium.By
2929
*/
30-
List<WebElement> findElements(By by);
30+
<T extends WebElement> List<T> findElements(By by);
3131

3232

3333
/**
@@ -37,5 +37,5 @@ public interface SearchContext {
3737
* @return The first matching element on the current context
3838
* @throws NoSuchElementException If no matching elements are found
3939
*/
40-
WebElement findElement(By by);
40+
<T extends WebElement> T findElement(By by);
4141
}

src/main/java/org/openqa/selenium/WebDriver.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public interface WebDriver extends SearchContext {
9090
* @see org.openqa.selenium.By
9191
* @see org.openqa.selenium.WebDriver.Timeouts
9292
*/
93-
List<WebElement> findElements(By by);
93+
<T extends WebElement> List<T> findElements(By by);
9494

9595

9696
/**
@@ -108,7 +108,7 @@ public interface WebDriver extends SearchContext {
108108
* @see org.openqa.selenium.By
109109
* @see org.openqa.selenium.WebDriver.Timeouts
110110
*/
111-
WebElement findElement(By by);
111+
<T extends WebElement> T findElement(By by);
112112

113113
// Misc
114114

src/main/java/org/openqa/selenium/WebElement.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ public interface WebElement extends SearchContext, TakesScreenshot {
152152
* @see org.openqa.selenium.By
153153
* @see org.openqa.selenium.WebDriver.Timeouts
154154
*/
155-
List<WebElement> findElements(By by);
155+
<T extends WebElement> List<T> findElements(By by);
156156

157157
/**
158158
* Find the first {@link WebElement} using the given method. See the note in
@@ -170,7 +170,7 @@ public interface WebElement extends SearchContext, TakesScreenshot {
170170
* @see org.openqa.selenium.By
171171
* @see org.openqa.selenium.WebDriver.Timeouts
172172
*/
173-
WebElement findElement(By by);
173+
<T extends WebElement> T findElement(By by);
174174

175175
/**
176176
* Is this element displayed or not? This method avoids the problem of having to parse an

src/main/java/org/openqa/selenium/internal/FindsByClassName.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.List;
2323

2424
public interface FindsByClassName {
25-
WebElement findElementByClassName(String using);
25+
<T extends WebElement> T findElementByClassName(String using);
2626

27-
List<WebElement> findElementsByClassName(String using);
27+
<T extends WebElement> List<T> findElementsByClassName(String using);
2828
}

src/main/java/org/openqa/selenium/internal/FindsByCssSelector.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.List;
2323

2424
public interface FindsByCssSelector {
25-
WebElement findElementByCssSelector(String using);
25+
<T extends WebElement> T findElementByCssSelector(String using);
2626

27-
List<WebElement> findElementsByCssSelector(String using);
27+
<T extends WebElement> List<T> findElementsByCssSelector(String using);
2828
}

src/main/java/org/openqa/selenium/internal/FindsById.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.List;
2323

2424
public interface FindsById {
25-
WebElement findElementById(String using);
25+
<T extends WebElement> T findElementById(String using);
2626

27-
List<WebElement> findElementsById(String using);
27+
<T extends WebElement> List<T> findElementsById(String using);
2828
}

src/main/java/org/openqa/selenium/internal/FindsByLinkText.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
import java.util.List;
2323

2424
public interface FindsByLinkText {
25-
WebElement findElementByLinkText(String using);
25+
<T extends WebElement> T findElementByLinkText(String using);
2626

27-
List<WebElement> findElementsByLinkText(String using);
27+
<T extends WebElement> List<T> findElementsByLinkText(String using);
2828

29-
WebElement findElementByPartialLinkText(String using);
29+
<T extends WebElement> T findElementByPartialLinkText(String using);
3030

31-
List<WebElement> findElementsByPartialLinkText(String using);
31+
<T extends WebElement> List<T> findElementsByPartialLinkText(String using);
3232
}

src/main/java/org/openqa/selenium/internal/FindsByName.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.List;
2323

2424
public interface FindsByName {
25-
WebElement findElementByName(String using);
25+
<T extends WebElement> T findElementByName(String using);
2626

27-
List<WebElement> findElementsByName(String using);
27+
<T extends WebElement> List<T> findElementsByName(String using);
2828
}

src/main/java/org/openqa/selenium/internal/FindsByTagName.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.List;
2323

2424
public interface FindsByTagName {
25-
WebElement findElementByTagName(String using);
25+
<T extends WebElement> T findElementByTagName(String using);
2626

27-
List<WebElement> findElementsByTagName(String using);
27+
<T extends WebElement> List<T> findElementsByTagName(String using);
2828
}

src/main/java/org/openqa/selenium/internal/FindsByXPath.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.List;
2323

2424
public interface FindsByXPath {
25-
WebElement findElementByXPath(String using);
25+
<T extends WebElement> T findElementByXPath(String using);
2626

27-
List<WebElement> findElementsByXPath(String using);
27+
<T extends WebElement> List<T> findElementsByXPath(String using);
2828
}

0 commit comments

Comments
 (0)