Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions java/client/src/org/openqa/selenium/SearchContext.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public interface SearchContext {
* @return A list of all {@link WebElement}s, or an empty list if nothing matches
* @see org.openqa.selenium.By
*/
List<WebElement> findElements(By by);
<T extends List<? extends WebElement>> T findElements(By by);


/**
Expand All @@ -36,5 +36,5 @@ public interface SearchContext {
* @return The first matching element on the current context
* @throws NoSuchElementException If no matching elements are found
*/
WebElement findElement(By by);
<T extends WebElement> T findElement(By by);
}
4 changes: 2 additions & 2 deletions java/client/src/org/openqa/selenium/WebDriver.java
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ public interface WebDriver extends SearchContext {
* @see org.openqa.selenium.By
* @see org.openqa.selenium.WebDriver.Timeouts
*/
List<WebElement> findElements(By by);
<T extends List<? extends WebElement>> T findElements(By by);


/**
Expand All @@ -113,7 +113,7 @@ public interface WebDriver extends SearchContext {
* @see org.openqa.selenium.By
* @see org.openqa.selenium.WebDriver.Timeouts
*/
WebElement findElement(By by);
<T extends WebElement> T findElement(By by);

// Misc

Expand Down
4 changes: 2 additions & 2 deletions java/client/src/org/openqa/selenium/WebElement.java
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ public interface WebElement extends SearchContext {
* @see org.openqa.selenium.By
* @see org.openqa.selenium.WebDriver.Timeouts
*/
List<WebElement> findElements(By by);
<T extends List<? extends WebElement>> T findElements(By by);

/**
* Find the first {@link WebElement} using the given method. See the note in
Expand All @@ -162,7 +162,7 @@ public interface WebElement extends SearchContext {
* @see org.openqa.selenium.By
* @see org.openqa.selenium.WebDriver.Timeouts
*/
WebElement findElement(By by);
<T extends WebElement> T findElement(By by);

/**
* Is this element displayed or not? This method avoids the problem of having to parse an
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import java.util.List;

public interface FindsByClassName {
WebElement findElementByClassName(String using);
<T extends WebElement> T findElementByClassName(String using);

List<WebElement> findElementsByClassName(String using);
<T extends List<? extends WebElement>> T findElementsByClassName(String using);
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import java.util.List;

public interface FindsByCssSelector {
WebElement findElementByCssSelector(String using);
<T extends WebElement> T findElementByCssSelector(String using);

List<WebElement> findElementsByCssSelector(String using);
<T extends List<? extends WebElement>> T findElementsByCssSelector(String using);
}
4 changes: 2 additions & 2 deletions java/client/src/org/openqa/selenium/internal/FindsById.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import java.util.List;

public interface FindsById {
WebElement findElementById(String using);
<T extends WebElement> T findElementById(String using);

List<WebElement> findElementsById(String using);
<T extends List<? extends WebElement>> T findElementsById(String using);
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
import java.util.List;

public interface FindsByLinkText {
WebElement findElementByLinkText(String using);
<T extends WebElement> T findElementByLinkText(String using);

List<WebElement> findElementsByLinkText(String using);
<T extends List<? extends WebElement>> T findElementsByLinkText(String using);

WebElement findElementByPartialLinkText(String using);
<T extends WebElement> T findElementByPartialLinkText(String using);

List<WebElement> findElementsByPartialLinkText(String using);
<T extends List<? extends WebElement>> T findElementsByPartialLinkText(String using);
}
4 changes: 2 additions & 2 deletions java/client/src/org/openqa/selenium/internal/FindsByName.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import java.util.List;

public interface FindsByName {
WebElement findElementByName(String using);
<T extends WebElement> T findElementByName(String using);

List<WebElement> findElementsByName(String using);
<T extends List<? extends WebElement>> T findElementsByName(String using);
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import java.util.List;

public interface FindsByTagName {
WebElement findElementByTagName(String using);
<T extends WebElement> T findElementByTagName(String using);

List<WebElement> findElementsByTagName(String using);
<T extends List<? extends WebElement>> T findElementsByTagName(String using);
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import java.util.List;

public interface FindsByXPath {
WebElement findElementByXPath(String using);
<T extends WebElement> T findElementByXPath(String using);

List<WebElement> findElementsByXPath(String using);
<T extends List<? extends WebElement>> T findElementsByXPath(String using);
}
72 changes: 36 additions & 36 deletions java/client/src/org/openqa/selenium/remote/RemoteWebDriver.java
Original file line number Diff line number Diff line change
Expand Up @@ -336,12 +336,12 @@ public <X> X getScreenshotAs(OutputType<X> outputType) throws WebDriverException
}
}

public List<WebElement> findElements(By by) {
return by.findElements(this);
public <T extends List<? extends WebElement>> T findElements(By by) {
return (T) by.findElements(this);
}

public WebElement findElement(By by) {
return by.findElement(this);
public <T extends WebElement> T findElement(By by) {
return (T) by.findElement(this);
}

protected WebElement findElement(String by, String using) {
Expand Down Expand Up @@ -389,68 +389,68 @@ protected List<WebElement> findElements(String by, String using) {
return allElements;
}

public WebElement findElementById(String using) {
return findElement("id", using);
public <T extends WebElement> T findElementById(String using) {
return (T) findElement("id", using);
}

public List<WebElement> findElementsById(String using) {
return findElements("id", using);
public <T extends List<? extends WebElement>> T findElementsById(String using) {
return (T) findElements("id", using);
}

public WebElement findElementByLinkText(String using) {
return findElement("link text", using);
public <T extends WebElement> T findElementByLinkText(String using) {
return (T) findElement("link text", using);
}

public List<WebElement> findElementsByLinkText(String using) {
return findElements("link text", using);
public <T extends List<? extends WebElement>> T findElementsByLinkText(String using) {
return (T) findElements("link text", using);
}

public WebElement findElementByPartialLinkText(String using) {
return findElement("partial link text", using);
public <T extends WebElement> T findElementByPartialLinkText(String using) {
return (T) findElement("partial link text", using);
}

public List<WebElement> findElementsByPartialLinkText(String using) {
return findElements("partial link text", using);
public <T extends List<? extends WebElement>> T findElementsByPartialLinkText(String using) {
return (T) findElements("partial link text", using);
}

public WebElement findElementByTagName(String using) {
return findElement("tag name", using);
public <T extends WebElement> T findElementByTagName(String using) {
return (T) findElement("tag name", using);
}

public List<WebElement> findElementsByTagName(String using) {
return findElements("tag name", using);
public <T extends List<? extends WebElement>> T findElementsByTagName(String using) {
return (T) findElements("tag name", using);
}

public WebElement findElementByName(String using) {
return findElement("name", using);
public <T extends WebElement> T findElementByName(String using) {
return (T) findElement("name", using);
}

public List<WebElement> findElementsByName(String using) {
return findElements("name", using);
public <T extends List<? extends WebElement>> T findElementsByName(String using) {
return (T) findElements("name", using);
}

public WebElement findElementByClassName(String using) {
return findElement("class name", using);
public <T extends WebElement> T findElementByClassName(String using) {
return (T) findElement("class name", using);
}

public List<WebElement> findElementsByClassName(String using) {
return findElements("class name", using);
public <T extends List<? extends WebElement>> T findElementsByClassName(String using) {
return (T) findElements("class name", using);
}

public WebElement findElementByCssSelector(String using) {
return findElement("css selector", using);
public <T extends WebElement> T findElementByCssSelector(String using) {
return (T) findElement("css selector", using);
}

public List<WebElement> findElementsByCssSelector(String using) {
return findElements("css selector", using);
public <T extends List<? extends WebElement>> T findElementsByCssSelector(String using) {
return (T) findElements("css selector", using);
}

public WebElement findElementByXPath(String using) {
return findElement("xpath", using);
public <T extends WebElement> T findElementByXPath(String using) {
return (T) findElement("xpath", using);
}

public List<WebElement> findElementsByXPath(String using) {
return findElements("xpath", using);
public <T extends List<? extends WebElement>> T findElementsByXPath(String using) {
return (T) findElements("xpath", using);
}

// Misc
Expand Down
72 changes: 36 additions & 36 deletions java/client/src/org/openqa/selenium/remote/RemoteWebElement.java
Original file line number Diff line number Diff line change
Expand Up @@ -159,12 +159,12 @@ public String getCssValue(String propertyName) {
return (String) response.getValue();
}

public List<WebElement> findElements(By by) {
return by.findElements(this);
public <T extends List<? extends WebElement>> T findElements(By by) {
return (T) by.findElements(this);
}

public WebElement findElement(By by) {
return by.findElement(this);
public <T extends WebElement> T findElement(By by) {
return (T) by.findElement(this);
}

protected WebElement findElement(String using, String value) {
Expand Down Expand Up @@ -200,68 +200,68 @@ protected List<WebElement> findElements(String using, String value) {
return allElements;
}

public WebElement findElementById(String using) {
return findElement("id", using);
public <T extends WebElement> T findElementById(String using) {
return (T) findElement("id", using);
}

public List<WebElement> findElementsById(String using) {
return findElements("id", using);
public <T extends List<? extends WebElement>> T findElementsById(String using) {
return (T) findElements("id", using);
}

public WebElement findElementByLinkText(String using) {
return findElement("link text", using);
public <T extends WebElement> T findElementByLinkText(String using) {
return (T) findElement("link text", using);
}

public List<WebElement> findElementsByLinkText(String using) {
return findElements("link text", using);
public <T extends List<? extends WebElement>> T findElementsByLinkText(String using) {
return (T) findElements("link text", using);
}

public WebElement findElementByName(String using) {
return findElement("name", using);
public <T extends WebElement> T findElementByName(String using) {
return (T) findElement("name", using);
}

public List<WebElement> findElementsByName(String using) {
return findElements("name", using);
public <T extends List<? extends WebElement>> T findElementsByName(String using) {
return (T) findElements("name", using);
}

public WebElement findElementByClassName(String using) {
return findElement("class name", using);
public <T extends WebElement> T findElementByClassName(String using) {
return (T) findElement("class name", using);
}

public List<WebElement> findElementsByClassName(String using) {
return findElements("class name", using);
public <T extends List<? extends WebElement>> T findElementsByClassName(String using) {
return (T) findElements("class name", using);
}

public WebElement findElementByCssSelector(String using) {
return findElement("css selector", using);
public <T extends WebElement> T findElementByCssSelector(String using) {
return (T) findElement("css selector", using);
}

public List<WebElement> findElementsByCssSelector(String using) {
return findElements("css selector", using);
public <T extends List<? extends WebElement>> T findElementsByCssSelector(String using) {
return (T) findElements("css selector", using);
}

public WebElement findElementByXPath(String using) {
return findElement("xpath", using);
public <T extends WebElement> T findElementByXPath(String using) {
return (T) findElement("xpath", using);
}

public List<WebElement> findElementsByXPath(String using) {
return findElements("xpath", using);
public <T extends List<? extends WebElement>> T findElementsByXPath(String using) {
return (T) findElements("xpath", using);
}

public WebElement findElementByPartialLinkText(String using) {
return findElement("partial link text", using);
public <T extends WebElement> T findElementByPartialLinkText(String using) {
return (T) findElement("partial link text", using);
}

public List<WebElement> findElementsByPartialLinkText(String using) {
return findElements("partial link text", using);
public <T extends List<? extends WebElement>> T findElementsByPartialLinkText(String using) {
return (T) findElements("partial link text", using);
}

public WebElement findElementByTagName(String using) {
return findElement("tag name", using);
public <T extends WebElement> T findElementByTagName(String using) {
return (T) findElement("tag name", using);
}

public List<WebElement> findElementsByTagName(String using) {
return findElements("tag name", using);
public <T extends List<? extends WebElement>> T findElementsByTagName(String using) {
return (T) findElements("tag name", using);
}

protected Response execute(String command, Map<String, ?> parameters) {
Expand Down