All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.fluentlenium.core.filter.PredicateFilter Maven / Gradle / Ivy

package org.fluentlenium.core.filter;

import org.fluentlenium.core.domain.FluentWebElement;
import org.fluentlenium.core.search.SearchFilter;

import java.util.Collection;
import java.util.function.Predicate;
import java.util.stream.Collectors;

/**
 * Search filter based on a predicate.
 */
public class PredicateFilter implements SearchFilter {
    private final Predicate predicate;

    /**
     * Creates a new predicate search filter.
     *
     * @param predicate search filter
     */
    PredicateFilter(Predicate predicate) {
        this.predicate = predicate;
    }

    @Override
    public String getCssFilter() {
        return null;
    }

    @Override
    public boolean isCssFilterSupported() {
        return false;
    }

    @Override
    public Collection applyFilter(Collection elements) {
        return elements.stream().filter(predicate).collect(Collectors.toList());
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy