List of usage examples for java.util.stream Stream anyMatch
boolean anyMatch(Predicate<? super T> predicate);
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); }