Example usage for java.util.stream Stream anyMatch

List of usage examples for java.util.stream Stream anyMatch

Introduction

In this page you can find the example usage for java.util.stream Stream anyMatch.

Prototype

boolean anyMatch(Predicate<? super T> predicate);

Source Link

Document

Returns whether any elements of this stream match the provided predicate.

Usage

From source file:fr.landel.utils.assertor.utils.AssertorIterable.java

private static <I extends Iterable<T>, T> boolean has(final I iterable, final Predicate<T> predicate,
        final boolean all, final EnumAnalysisMode analysisMode) {
    if (EnumAnalysisMode.STANDARD.equals(analysisMode)) {
        if (all) {
            for (final T object : iterable) {
                if (!predicate.test(object)) {
                    return false;
                }/* w  w w .ja  v a  2  s. c o m*/
            }
            return true;
        } else {
            for (final T object : iterable) {
                if (predicate.test(object)) {
                    return true;
                }
            }
            return false;
        }
    } else {
        final Stream<T> stream = StreamSupport.stream(iterable.spliterator(),
                EnumAnalysisMode.PARALLEL.equals(analysisMode));
        if (all) {
            return stream.allMatch(predicate);
        } else {
            return stream.anyMatch(predicate);
        }
    }
}

From source file:fr.landel.utils.assertor.helper.HelperAssertor.java

public static <T> boolean isValid(final Stream<T> stream, final Predicate<T> predicate, final boolean all,
        final boolean not, final Supplier<Integer> size) {
    if (all && !not) { // ALL
        return stream.allMatch(predicate);
    } else if (!all && !not) { // ANY
        return stream.anyMatch(predicate);
    } else if (!all) { // NOT ANY
        return stream.noneMatch(predicate);
    } else { // NOT ALL
        return isValid(all, not, stream.filter(predicate).count(), size.get());
    }//from w  w w .j a va 2  s.  c om
}

From source file:fr.landel.utils.assertor.utils.AssertorMap.java

private static <K, V> boolean match(final Map<K, V> map, final Predicate<Entry<K, V>> predicate,
        final boolean all, final EnumAnalysisMode analysisMode) {

    final Set<Entry<K, V>> entries = map.entrySet();

    if (EnumAnalysisMode.STANDARD.equals(analysisMode)) {
        if (all) {
            for (final Entry<K, V> entry : entries) {
                if (!predicate.test(entry)) {
                    return false;
                }/*  w ww .j a v a  2s .c  om*/
            }
            return true;
        } else {
            for (final Entry<K, V> entry : entries) {
                if (predicate.test(entry)) {
                    return true;
                }
            }
            return false;
        }
    } else {
        final Stream<Entry<K, V>> stream;
        if (EnumAnalysisMode.PARALLEL.equals(analysisMode)) {
            stream = entries.parallelStream();
        } else {
            stream = entries.stream();
        }
        if (all) {
            return stream.allMatch(predicate);
        } else {
            return stream.anyMatch(predicate);
        }
    }
}

From source file:com.github.drbookings.model.data.manager.MainManager.java

public synchronized boolean needsCleaning(final String roomName, final LocalDate date) {
    final Collection<BookingEntry> bookings = bookingEntries.get(date);
    final Stream<BookingEntry> sbe = bookings.stream().filter(be -> be.getRoom().getName().equals(roomName));
    final Stream<BookingBean> sb = sbe.map(be -> be.getElement());
    return sb.anyMatch(b -> b.getCleaning() == null);
}

From source file:de.fosd.jdime.matcher.cost_model.CostModelMatcher.java

/**
 * Returns the exact ordering cost for <code>matching</code>.
 *
 * @param matching/*ww  w  . j av a 2  s .  c o  m*/
 *         the matching to calculate the cost for
 * @param matchings
 *         all matchings
 * @param parameters
 *         the cost model paramters
 * @return the exact ordering cost
 */
private float orderingCost(CMMatching<T> matching, CMMatchings<T> matchings, CMParameters<T> parameters) {
    Stream<T> leftSiblings = otherSiblings(matching.m, matchings, parameters).stream();
    Stream<T> rightSiblings = otherSiblings(matching.n, matchings, parameters).stream();
    Stream<CMMatching<T>> s = concat(leftSiblings, rightSiblings).map(a -> matching(a, matchings, parameters))
            .filter(m -> !m.isNoMatch()).distinct();

    if (s.anyMatch(toCheck -> violatesOrdering(toCheck, matching, matchings, parameters))) {
        return parameters.wo.weigh(matching);
    } else {
        return 0;
    }
}

From source file:de.fosd.jdime.matcher.cost_model.CostModelMatcher.java

/**
 * Bounds the ordering violation cost of <code>matching</code>.
 *
 * @param matching/* www. j  av  a  2s .c  o m*/
 *         the matching to bound the cost for
 * @param currentMatchings
 *         all matchings
 * @param parameters
 *         the cost model parameters
 * @return the bounded ordering violation cost
 */
private Bounds boundOrderingCost(CMMatching<T> matching, CMMatchings<T> currentMatchings,
        CMParameters<T> parameters) {
    float lower, upper;
    List<T> mosibs = otherSiblings(matching.m, currentMatchings, parameters);
    List<T> nosibs = otherSiblings(matching.n, currentMatchings, parameters);
    Stream<T> siblings = concat(mosibs.stream(), nosibs.stream());

    boolean orderingPossible = siblings.allMatch(
            sib -> containing(sib, currentMatchings, parameters).stream().anyMatch(match -> match.isNoMatch()
                    || !violatesOrdering(match, matching, currentMatchings, parameters)));

    if (!orderingPossible) {
        lower = parameters.wo.weigh(matching);
        upper = lower;
    } else {
        lower = 0;

        siblings = concat(mosibs.stream(), nosibs.stream());

        boolean violationPossible = siblings.anyMatch(sib -> containing(sib, currentMatchings, parameters)
                .stream().anyMatch(match -> !match.isNoMatch()
                        && violatesOrdering(match, matching, currentMatchings, parameters)));

        upper = violationPossible ? parameters.wo.weigh(matching) : 0;
    }

    return new Bounds(lower, upper);
}