package org.fluentlenium.core.hook; import java.util.function.Supplier; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.pagefactory.ElementLocator; import java.util.List; /** * Builder of hook chains from element supplier, element locator supplier and hook definitions list. */ public interface HookChainBuilder { /** * Build the hook chain. * * @param elementSupplier element supplier * @param locator element locator supplier * @param toStringSupplier element toString supplier * @param hooks list of hook definitions * @return hook chain */ List<FluentHook> build(Supplier<WebElement> elementSupplier, Supplier<ElementLocator> locator, Supplier<String> toStringSupplier, List<HookDefinition<?>> hooks); }