Sfoglia il codice sorgente

change: CQuery#each can be chained

Mariusz Czarnowski 4 anni fa
parent
commit
06fb497522

+ 5 - 5
assira.core/src/main/java/net/ranides/assira/collection/query/CQuery.java

@@ -146,12 +146,12 @@ public interface CQuery<T> extends Iterable<T> {
     CQuery<T> sort(Comparator<? super T> cmp);
 
     CQuery<T> reverse();
-    
-    void each(Consumer<? super T> consumer);
 
-    void each(EachConsumer<? super T> consumer);
-    
-    void into(Collection<? super T> collection);
+    CQuery<T> each(Consumer<? super T> consumer);
+
+    CQuery<T> each(EachConsumer<? super T> consumer);
+
+    CQuery<T> into(Collection<? super T> collection);
     
     boolean matchAny(Predicate<? super T> predicate);
     

+ 6 - 3
assira.core/src/main/java/net/ranides/assira/collection/query/CQueryAbstract.java

@@ -293,21 +293,24 @@ public abstract class CQueryAbstract<T> implements CQuery<T> {
     }
 
     @Override
-    public final void each(Consumer<? super T> consumer) {
+    public final CQuery<T> each(Consumer<? super T> consumer) {
         stream().forEach(consumer);
+        return this;
     }
 
     @Override
-    public final void each(EachConsumer<? super T> consumer) {
+    public final CQuery<T> each(EachConsumer<? super T> consumer) {
         int index = 0;
         for (T t : this) {
             consumer.apply(index++, t);
         }
+        return this;
     }
 
     @Override
-    public void into(Collection<? super T> collection) {
+    public CQuery<T> into(Collection<? super T> collection) {
         stream().forEach(collection::add);
+        return this;
     }
 
     @Override