I want to filter a java.util.Collection based on a predicate.
With the ForEach DSL you may write
import static ch.akuhn.util.query.Query.select;
import static ch.akuhn.util.query.Query.$result;
import ch.akuhn.util.query.Select;
Collection collection = ...
for (Select each : select(collection)) {
each.yield = each.value.length() > 3;
}
Collection result = $result();
Given a collection of [The, quick, brown, fox, jumps, over, the, lazy, dog] this results in [quick, brown, jumps, over, lazy], ie all strings longer than three characters.
All iteration styles supported by the ForEach DSL are
AllSatisfyAnySatisfyCollectCounntCutPiecesDetectGroupedByIndexOfInjectIntoRejectSelectFor more details, please refer to https://www.iam.unibe.ch/scg/svn_repos/Sources/ForEach