diff --git a/java/client/src/org/openqa/selenium/SearchContext.java b/java/client/src/org/openqa/selenium/SearchContext.java index 5d3548b817f17..061ed6336049f 100644 --- a/java/client/src/org/openqa/selenium/SearchContext.java +++ b/java/client/src/org/openqa/selenium/SearchContext.java @@ -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 findElements(By by); + > T findElements(By by); /** @@ -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 findElement(By by); } diff --git a/java/client/src/org/openqa/selenium/WebDriver.java b/java/client/src/org/openqa/selenium/WebDriver.java index f0c41be470ae1..014a21722bd84 100644 --- a/java/client/src/org/openqa/selenium/WebDriver.java +++ b/java/client/src/org/openqa/selenium/WebDriver.java @@ -95,7 +95,7 @@ public interface WebDriver extends SearchContext { * @see org.openqa.selenium.By * @see org.openqa.selenium.WebDriver.Timeouts */ - List findElements(By by); + > T findElements(By by); /** @@ -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 findElement(By by); // Misc diff --git a/java/client/src/org/openqa/selenium/WebElement.java b/java/client/src/org/openqa/selenium/WebElement.java index af7e94d91f092..1e57bc5c9c8bd 100644 --- a/java/client/src/org/openqa/selenium/WebElement.java +++ b/java/client/src/org/openqa/selenium/WebElement.java @@ -144,7 +144,7 @@ public interface WebElement extends SearchContext { * @see org.openqa.selenium.By * @see org.openqa.selenium.WebDriver.Timeouts */ - List findElements(By by); + > T findElements(By by); /** * Find the first {@link WebElement} using the given method. See the note in @@ -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 findElement(By by); /** * Is this element displayed or not? This method avoids the problem of having to parse an diff --git a/java/client/src/org/openqa/selenium/internal/FindsByClassName.java b/java/client/src/org/openqa/selenium/internal/FindsByClassName.java index 14d0864c58921..cbe897bf7f9c2 100644 --- a/java/client/src/org/openqa/selenium/internal/FindsByClassName.java +++ b/java/client/src/org/openqa/selenium/internal/FindsByClassName.java @@ -21,7 +21,7 @@ import java.util.List; public interface FindsByClassName { - WebElement findElementByClassName(String using); + T findElementByClassName(String using); - List findElementsByClassName(String using); + > T findElementsByClassName(String using); } diff --git a/java/client/src/org/openqa/selenium/internal/FindsByCssSelector.java b/java/client/src/org/openqa/selenium/internal/FindsByCssSelector.java index 79d3267ebc788..386219e5adf75 100644 --- a/java/client/src/org/openqa/selenium/internal/FindsByCssSelector.java +++ b/java/client/src/org/openqa/selenium/internal/FindsByCssSelector.java @@ -21,7 +21,7 @@ import java.util.List; public interface FindsByCssSelector { - WebElement findElementByCssSelector(String using); + T findElementByCssSelector(String using); - List findElementsByCssSelector(String using); + > T findElementsByCssSelector(String using); } diff --git a/java/client/src/org/openqa/selenium/internal/FindsById.java b/java/client/src/org/openqa/selenium/internal/FindsById.java index b4d2e5da59131..d6e8aa3d8baa6 100644 --- a/java/client/src/org/openqa/selenium/internal/FindsById.java +++ b/java/client/src/org/openqa/selenium/internal/FindsById.java @@ -21,7 +21,7 @@ import java.util.List; public interface FindsById { - WebElement findElementById(String using); + T findElementById(String using); - List findElementsById(String using); + > T findElementsById(String using); } diff --git a/java/client/src/org/openqa/selenium/internal/FindsByLinkText.java b/java/client/src/org/openqa/selenium/internal/FindsByLinkText.java index 00ee6080b1469..265fb64daa11d 100644 --- a/java/client/src/org/openqa/selenium/internal/FindsByLinkText.java +++ b/java/client/src/org/openqa/selenium/internal/FindsByLinkText.java @@ -21,11 +21,11 @@ import java.util.List; public interface FindsByLinkText { - WebElement findElementByLinkText(String using); + T findElementByLinkText(String using); - List findElementsByLinkText(String using); + > T findElementsByLinkText(String using); - WebElement findElementByPartialLinkText(String using); + T findElementByPartialLinkText(String using); - List findElementsByPartialLinkText(String using); + > T findElementsByPartialLinkText(String using); } diff --git a/java/client/src/org/openqa/selenium/internal/FindsByName.java b/java/client/src/org/openqa/selenium/internal/FindsByName.java index 38226be5d9a74..0b9db839e0381 100644 --- a/java/client/src/org/openqa/selenium/internal/FindsByName.java +++ b/java/client/src/org/openqa/selenium/internal/FindsByName.java @@ -21,7 +21,7 @@ import java.util.List; public interface FindsByName { - WebElement findElementByName(String using); + T findElementByName(String using); - List findElementsByName(String using); + > T findElementsByName(String using); } diff --git a/java/client/src/org/openqa/selenium/internal/FindsByTagName.java b/java/client/src/org/openqa/selenium/internal/FindsByTagName.java index 5ef915134513b..46f0463450222 100644 --- a/java/client/src/org/openqa/selenium/internal/FindsByTagName.java +++ b/java/client/src/org/openqa/selenium/internal/FindsByTagName.java @@ -21,7 +21,7 @@ import java.util.List; public interface FindsByTagName { - WebElement findElementByTagName(String using); + T findElementByTagName(String using); - List findElementsByTagName(String using); + > T findElementsByTagName(String using); } diff --git a/java/client/src/org/openqa/selenium/internal/FindsByXPath.java b/java/client/src/org/openqa/selenium/internal/FindsByXPath.java index 6deb142eb31df..0e8ab4a4d2b39 100644 --- a/java/client/src/org/openqa/selenium/internal/FindsByXPath.java +++ b/java/client/src/org/openqa/selenium/internal/FindsByXPath.java @@ -21,7 +21,7 @@ import java.util.List; public interface FindsByXPath { - WebElement findElementByXPath(String using); + T findElementByXPath(String using); - List findElementsByXPath(String using); + > T findElementsByXPath(String using); } diff --git a/java/client/src/org/openqa/selenium/remote/RemoteWebDriver.java b/java/client/src/org/openqa/selenium/remote/RemoteWebDriver.java index 16fdbf4053d24..0da4043217b4f 100644 --- a/java/client/src/org/openqa/selenium/remote/RemoteWebDriver.java +++ b/java/client/src/org/openqa/selenium/remote/RemoteWebDriver.java @@ -336,12 +336,12 @@ public X getScreenshotAs(OutputType outputType) throws WebDriverException } } - public List findElements(By by) { - return by.findElements(this); + public > T findElements(By by) { + return (T) by.findElements(this); } - public WebElement findElement(By by) { - return by.findElement(this); + public T findElement(By by) { + return (T) by.findElement(this); } protected WebElement findElement(String by, String using) { @@ -389,68 +389,68 @@ protected List findElements(String by, String using) { return allElements; } - public WebElement findElementById(String using) { - return findElement("id", using); + public T findElementById(String using) { + return (T) findElement("id", using); } - public List findElementsById(String using) { - return findElements("id", using); + public > T findElementsById(String using) { + return (T) findElements("id", using); } - public WebElement findElementByLinkText(String using) { - return findElement("link text", using); + public T findElementByLinkText(String using) { + return (T) findElement("link text", using); } - public List findElementsByLinkText(String using) { - return findElements("link text", using); + public > T findElementsByLinkText(String using) { + return (T) findElements("link text", using); } - public WebElement findElementByPartialLinkText(String using) { - return findElement("partial link text", using); + public T findElementByPartialLinkText(String using) { + return (T) findElement("partial link text", using); } - public List findElementsByPartialLinkText(String using) { - return findElements("partial link text", using); + public > T findElementsByPartialLinkText(String using) { + return (T) findElements("partial link text", using); } - public WebElement findElementByTagName(String using) { - return findElement("tag name", using); + public T findElementByTagName(String using) { + return (T) findElement("tag name", using); } - public List findElementsByTagName(String using) { - return findElements("tag name", using); + public > T findElementsByTagName(String using) { + return (T) findElements("tag name", using); } - public WebElement findElementByName(String using) { - return findElement("name", using); + public T findElementByName(String using) { + return (T) findElement("name", using); } - public List findElementsByName(String using) { - return findElements("name", using); + public > T findElementsByName(String using) { + return (T) findElements("name", using); } - public WebElement findElementByClassName(String using) { - return findElement("class name", using); + public T findElementByClassName(String using) { + return (T) findElement("class name", using); } - public List findElementsByClassName(String using) { - return findElements("class name", using); + public > T findElementsByClassName(String using) { + return (T) findElements("class name", using); } - public WebElement findElementByCssSelector(String using) { - return findElement("css selector", using); + public T findElementByCssSelector(String using) { + return (T) findElement("css selector", using); } - public List findElementsByCssSelector(String using) { - return findElements("css selector", using); + public > T findElementsByCssSelector(String using) { + return (T) findElements("css selector", using); } - public WebElement findElementByXPath(String using) { - return findElement("xpath", using); + public T findElementByXPath(String using) { + return (T) findElement("xpath", using); } - public List findElementsByXPath(String using) { - return findElements("xpath", using); + public > T findElementsByXPath(String using) { + return (T) findElements("xpath", using); } // Misc diff --git a/java/client/src/org/openqa/selenium/remote/RemoteWebElement.java b/java/client/src/org/openqa/selenium/remote/RemoteWebElement.java index d887c3249b8e0..6cb5f569df9f1 100644 --- a/java/client/src/org/openqa/selenium/remote/RemoteWebElement.java +++ b/java/client/src/org/openqa/selenium/remote/RemoteWebElement.java @@ -159,12 +159,12 @@ public String getCssValue(String propertyName) { return (String) response.getValue(); } - public List findElements(By by) { - return by.findElements(this); + public > T findElements(By by) { + return (T) by.findElements(this); } - public WebElement findElement(By by) { - return by.findElement(this); + public T findElement(By by) { + return (T) by.findElement(this); } protected WebElement findElement(String using, String value) { @@ -200,68 +200,68 @@ protected List findElements(String using, String value) { return allElements; } - public WebElement findElementById(String using) { - return findElement("id", using); + public T findElementById(String using) { + return (T) findElement("id", using); } - public List findElementsById(String using) { - return findElements("id", using); + public > T findElementsById(String using) { + return (T) findElements("id", using); } - public WebElement findElementByLinkText(String using) { - return findElement("link text", using); + public T findElementByLinkText(String using) { + return (T) findElement("link text", using); } - public List findElementsByLinkText(String using) { - return findElements("link text", using); + public > T findElementsByLinkText(String using) { + return (T) findElements("link text", using); } - public WebElement findElementByName(String using) { - return findElement("name", using); + public T findElementByName(String using) { + return (T) findElement("name", using); } - public List findElementsByName(String using) { - return findElements("name", using); + public > T findElementsByName(String using) { + return (T) findElements("name", using); } - public WebElement findElementByClassName(String using) { - return findElement("class name", using); + public T findElementByClassName(String using) { + return (T) findElement("class name", using); } - public List findElementsByClassName(String using) { - return findElements("class name", using); + public > T findElementsByClassName(String using) { + return (T) findElements("class name", using); } - public WebElement findElementByCssSelector(String using) { - return findElement("css selector", using); + public T findElementByCssSelector(String using) { + return (T) findElement("css selector", using); } - public List findElementsByCssSelector(String using) { - return findElements("css selector", using); + public > T findElementsByCssSelector(String using) { + return (T) findElements("css selector", using); } - public WebElement findElementByXPath(String using) { - return findElement("xpath", using); + public T findElementByXPath(String using) { + return (T) findElement("xpath", using); } - public List findElementsByXPath(String using) { - return findElements("xpath", using); + public > T findElementsByXPath(String using) { + return (T) findElements("xpath", using); } - public WebElement findElementByPartialLinkText(String using) { - return findElement("partial link text", using); + public T findElementByPartialLinkText(String using) { + return (T) findElement("partial link text", using); } - public List findElementsByPartialLinkText(String using) { - return findElements("partial link text", using); + public > T findElementsByPartialLinkText(String using) { + return (T) findElements("partial link text", using); } - public WebElement findElementByTagName(String using) { - return findElement("tag name", using); + public T findElementByTagName(String using) { + return (T) findElement("tag name", using); } - public List findElementsByTagName(String using) { - return findElements("tag name", using); + public > T findElementsByTagName(String using) { + return (T) findElements("tag name", using); } protected Response execute(String command, Map parameters) {