package org.fluentlenium.core.conditions; import java.util.function.Predicate; import org.fluentlenium.core.conditions.message.Message; import org.fluentlenium.core.conditions.message.NotMessage; /** * Common interface for conditions. * * @param <T> type of condition */ public interface Conditions<T> { /** * Check that the given predicate is verified against this condition object. * * @param predicate predicate to check * @return true if the predicated is checked, false otherwise */ @NotMessage("does not verify predicate {0}") @Message("verify predicate {0}") boolean verify(Predicate<T> predicate); /** * Negates this condition object. * * @return a negated condition object */ @Negation Conditions<T> not(); }