Class AbstractLocatorHandler<T>

    • Field Detail

      • locator

        protected final org.openqa.selenium.support.pagefactory.ElementLocator locator
      • proxy

        protected T proxy
      • result

        protected T result
    • Constructor Detail

      • AbstractLocatorHandler

        public AbstractLocatorHandler​(org.openqa.selenium.support.pagefactory.ElementLocator locator)
        Creates a new locator handler.
        Parameters:
        locator - selenium element locator
    • Method Detail

      • addListener

        public boolean addListener​(ProxyElementListener listener)
        Description copied from interface: LocatorHandler
        Add a listener for this locator handler.
        Specified by:
        addListener in interface LocatorHandler<T>
        Parameters:
        listener - listener to add, which will be notified when result is searched and found
        Returns:
        true if the listener was added, false otherwise
      • removeListener

        public boolean removeListener​(ProxyElementListener listener)
        Description copied from interface: LocatorHandler
        Removes a proxy element listener.
        Specified by:
        removeListener in interface LocatorHandler<T>
        Parameters:
        listener - listener to remove
        Returns:
        true if the listener was removed, false otherwise
      • getLocatorResult

        public T getLocatorResult()
        Get the actual result of the locator, if result is not defined and not stale.

        It also raise events.

        Specified by:
        getLocatorResult in interface LocatorHandler<T>
        Returns:
        result of the locator
      • getLocator

        public org.openqa.selenium.support.pagefactory.ElementLocator getLocator()
        Description copied from interface: LocatorHandler
        Retrieve the element locator used by this proxy, without any hook applied.
        Specified by:
        getLocator in interface LocatorHandler<T>
        Returns:
        element locator
      • getHookLocator

        public org.openqa.selenium.support.pagefactory.ElementLocator getHookLocator()
        Description copied from interface: LocatorHandler
        Retrieve the element locator used by this proxy, with hooks applied.
        Specified by:
        getHookLocator in interface LocatorHandler<T>
        Returns:
        element locator wrapped with hooks
      • loaded

        public boolean loaded()
        Description copied from interface: LocatorStatusHandler
        Check if this handler has loaded it's result.
        Specified by:
        loaded in interface LocatorStatusHandler
        Returns:
        true if the result is loaded, false otherwise
      • present

        public boolean present()
        Description copied from interface: LocatorStatusHandler
        Check if the result is present.
        Specified by:
        present in interface LocatorStatusHandler
        Returns:
        true if result is present, false otherwise
      • setProxy

        public void setProxy​(T proxy)
        Set the proxy using this handler.
        Parameters:
        proxy - proxy using this handler
      • fireProxyElementSearch

        protected void fireProxyElementSearch()
        Fire proxy element search event.
      • fireProxyElementFound

        protected void fireProxyElementFound​(T result)
        Fire proxy element found event.
        Parameters:
        result - found element
      • getLocatorResultImpl

        public abstract T getLocatorResultImpl()
        Get the actual result of the locator.
        Returns:
        result of the locator
      • resultToList

        protected abstract List<org.openqa.selenium.WebElement> resultToList​(T result)
        Convert result to a list of selenium element.
        Parameters:
        result - found result
        Returns:
        list of selenium element
      • isStale

        protected abstract boolean isStale()
        Get the stale status of the element.
        Returns:
        true if element is stale, false otherwise
      • getElement

        protected abstract org.openqa.selenium.WebElement getElement()
        Get the underlying element.
        Returns:
        underlying element
      • getLazyToString

        protected String getLazyToString()
        Get string representation of not already found element.
        Returns:
        string representation of not already found element
      • proxyToString

        public String proxyToString​(String elementToString)
        Get string representation of the proxy
        Parameters:
        elementToString - string representation of the underlying element
        Returns:
        string representation of the proxy