Interface LocatorStrategy
-
- All Known Implementing Classes:
LegacyLocatorStrategy,VaadinFinderLocatorStrategy
public interface LocatorStrategyThis 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.ElementgetElementByPath(String path)Locates an element using a String locator (path) which identifies a DOM element.com.google.gwt.dom.client.ElementgetElementByPathStartingAt(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.StringgetPathForElement(com.google.gwt.dom.client.Element targetElement)Generates a String locator which uniquely identifies the target element.booleanvalidatePath(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. ThegetElementByPath(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. ThegetPathForElement(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
pathor 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
pathor 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 inLegacyLocatorStrategy.- 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 inLegacyLocatorStrategy.- 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)
-
-