< prev index next >

src/java.base/share/classes/java/util/concurrent/Joiners.java

Print this page

195 
196         AllSubtasks(Predicate<Subtask<? extends T>> isDone) {
197             this.isDone = Objects.requireNonNull(isDone);
198         }
199 
200         @Override
201         public boolean onFork(Subtask<? extends T> subtask) {
202             ensureUnavailable(subtask);
203             @SuppressWarnings("unchecked")
204             var s = (Subtask<T>) subtask;
205             subtasks.add(s);
206             return false;
207         }
208 
209         @Override
210         public boolean onComplete(Subtask<? extends T> subtask) {
211             ensureCompleted(subtask);
212             return isDone.test(subtask);
213         }
214 





215         @Override
216         public Stream<Subtask<T>> result() {
217             return subtasks.stream();
218         }
219     }
220 }

195 
196         AllSubtasks(Predicate<Subtask<? extends T>> isDone) {
197             this.isDone = Objects.requireNonNull(isDone);
198         }
199 
200         @Override
201         public boolean onFork(Subtask<? extends T> subtask) {
202             ensureUnavailable(subtask);
203             @SuppressWarnings("unchecked")
204             var s = (Subtask<T>) subtask;
205             subtasks.add(s);
206             return false;
207         }
208 
209         @Override
210         public boolean onComplete(Subtask<? extends T> subtask) {
211             ensureCompleted(subtask);
212             return isDone.test(subtask);
213         }
214 
215         @Override
216         public void onTimeout() {
217             // do nothing, this joiner does not throw TimeoutException
218         }
219 
220         @Override
221         public Stream<Subtask<T>> result() {
222             return subtasks.stream();
223         }
224     }
225 }
< prev index next >