Interface LocatorStrategy

  • All Known Implementing Classes:
    LegacyLocatorStrategy, VaadinFinderLocatorStrategy

    public interface LocatorStrategy
    This interface should be implemented by all locator strategies. A locator strategy is responsible for generating and decoding a string that identifies an element in the DOM. A strategy can implement its own syntax for the locator string, which may be completely different from any other strategy's syntax.
    Since:
    7.2
    Author:
    Vaadin Ltd
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      com.google.gwt.dom.client.Element getElementByPath​(String path)
      Locates an element using a String locator (path) which identifies a DOM element.
      com.google.gwt.dom.client.Element getElementByPathStartingAt​(String path, com.google.gwt.dom.client.Element root)
      Locates an element using a String locator (path) which identifies a DOM element.
      List<com.google.gwt.dom.client.Element> getElementsByPath​(String path)
      Locates all elements that match a String locator (path) which identifies DOM elements.
      List<com.google.gwt.dom.client.Element> getElementsByPathStartingAt​(String path, com.google.gwt.dom.client.Element root)
      Locates all elements that match a String locator (path) which identifies DOM elements.
      String getPathForElement​(com.google.gwt.dom.client.Element targetElement)
      Generates a String locator which uniquely identifies the target element.
      boolean validatePath​(String path)
      Test the given input path for formatting errors.
    • Method Detail

      • validatePath

        boolean validatePath​(String path)
        Test the given input path for formatting errors. If a given path can not be validated, the locator strategy will not be attempted.
        Parameters:
        path - a locator path expression
        Returns:
        true, if the implementing class can process the given path, otherwise false
      • getPathForElement

        String getPathForElement​(com.google.gwt.dom.client.Element targetElement)
        Generates a String locator which uniquely identifies the target element. The getElementByPath(String) method can be used for the inverse operation, i.e. locating an element based on the return value from this method.

        Note that getElementByPath(getPathForElement(element)) == element is not always true as #getPathForElement(Element) can return a path to another element if the widget determines an action on the other element will give the same result as the action on the target element.

        Parameters:
        targetElement - The element to generate a path for.
        Returns:
        A String locator that identifies the target element or null if a String locator could not be created.
      • getElementByPath

        com.google.gwt.dom.client.Element getElementByPath​(String path)
        Locates an element using a String locator (path) which identifies a DOM element. The getPathForElement(Element) method can be used for the inverse operation, i.e. generating a string expression for a DOM element.
        Parameters:
        path - The String locator which identifies the target element.
        Returns:
        The DOM element identified by path or null if the element could not be located.
      • getElementByPathStartingAt

        com.google.gwt.dom.client.Element getElementByPathStartingAt​(String path,
                                                                     com.google.gwt.dom.client.Element root)
        Locates an element using a String locator (path) which identifies a DOM element. The path starts from the specified root element.
        Parameters:
        path - The String locator which identifies the target element.
        root - The element that is at the root of the path.
        Returns:
        The DOM element identified by path or null if the element could not be located.
        See Also:
        getElementByPath(String)
      • getElementsByPath

        List<com.google.gwt.dom.client.Element> getElementsByPath​(String path)
        Locates all elements that match a String locator (path) which identifies DOM elements. This functionality is limited in LegacyLocatorStrategy.
        Parameters:
        path - The String locator which identifies target elements.
        Returns:
        List that contains all matched elements. Empty list if none found.
      • getElementsByPathStartingAt

        List<com.google.gwt.dom.client.Element> getElementsByPathStartingAt​(String path,
                                                                            com.google.gwt.dom.client.Element root)
        Locates all elements that match a String locator (path) which identifies DOM elements. The path starts from the specified root element. This functionality is limited in LegacyLocatorStrategy.
        Parameters:
        path - The String locator which identifies target elements.
        root - The element that is at the root of the path.
        Returns:
        List that contains all matched elements. Empty list if none found.
        See Also:
        getElementsByPath(String)