public class LongAsyncBuilder
extends java.lang.Object
public void processFiles(ObjectCollection<String> potentialFiles) {
potentialFiles.asAsync()
.map(Paths::get).filter(Files::exists) //Modifies the collection (Optional)
.forEach(Files::delete) //Creates the action (Required)
.onCompletion(T -> {}} //Callback on completion (Optional)
.execute() //Starts the task. (Required)
}
| Modifier and Type | Class and Description |
|---|---|
static class |
LongAsyncBuilder.BaseLongTask
Base Task of the Actions that can be performed.
|
| Constructor and Description |
|---|
LongAsyncBuilder(LongAsyncBuilder.BaseLongTask task)
Helper constructor.
|
LongAsyncBuilder(LongIterable iterable)
Main Constructor that uses a Iterable to build a Offthread Task.
|
| Modifier and Type | Method and Description |
|---|---|
<E> ObjectAsyncBuilder<E> |
arrayflatMap(Long2ObjectFunction<E[]> mapper)
Maps the elements to something else
|
IntAsyncBuilder |
count(Long2BooleanFunction filter)
Counts all desired elements inside the Iterable
|
LongAsyncBuilder |
distinct()
Removes duplicated elements out of the Iterable
|
LongTask |
execute()
Starts the Execution of the task without awaiting its result
|
LongAsyncBuilder |
executor(java.util.concurrent.Executor executor)
Optional way to add a custom executor that runs this offthread task.
|
LongAsyncBuilder |
filter(Long2BooleanFunction filter)
Filters out the unwanted elements out of the Iterable
|
LongAsyncBuilder |
findFirst(Long2BooleanFunction filter)
Searches through the elements of the Iterable to find if the desired element.
|
<E,V extends java.lang.Iterable<E>> |
flatMap(Long2ObjectFunction<V> mapper)
Maps the elements to something else
|
ObjectAsyncBuilder<java.lang.Void> |
forEach(LongConsumer action)
Iterates over the Iterable with a desired action
|
long |
join()
Starts the Execution of the task and will await its completion, returning the result.
|
long |
join(long timeout,
java.util.concurrent.TimeUnit unit)
Starts the Execution of the task and will await its completion with a timeout, returning the result.
|
LongAsyncBuilder |
limit(long limit)
Limits how many elements are inside of the Iterable
|
<E> ObjectAsyncBuilder<E> |
map(Long2ObjectFunction<E> mapper)
Maps the elements to something else
|
BooleanAsyncBuilder |
matchAll(Long2BooleanFunction filter)
Searches through the elements of the Iterable to find if all the desired elements are present.
|
BooleanAsyncBuilder |
matchAny(Long2BooleanFunction filter)
Searches through the elements of the Iterable to find if the desired element is present.
|
BooleanAsyncBuilder |
matchNone(Long2BooleanFunction filter)
Searches through the elements of the Iterable to find if unwanted elements are present.
|
static LongAsyncBuilder |
of(java.lang.Iterable<java.lang.Long> iterable)
Helper function that automatically wraps a Iterable into a AsyncBuilder since it forces this collections Iterable.
|
static LongAsyncBuilder |
of(long... values)
Helper function that automatically wraps a array into a AsyncBuilder since it forces this collections Iterable.
|
LongAsyncBuilder |
onCompletion(java.util.function.Consumer<LongTask> callback)
Optional way to set a callback that allows to compute actions after the task was completed.
|
LongAsyncBuilder |
peek(LongConsumer action)
Allows to preview elements before they are processed
|
<E extends LongCollection> |
pour(E collection)
Pours all elements into a collection that can be later
|
ObjectAsyncBuilder<LongList> |
pourAsList()
Pours all elements into a List that can be later
|
ObjectAsyncBuilder<LongSet> |
pourAsSet()
Pours all elements into a Set that can be later
|
LongAsyncBuilder |
reduce(long identity,
LongLongUnaryOperator operator)
Reduces the elements inside of the Iterable down to one element using a identity element.
|
LongAsyncBuilder |
reduce(LongLongUnaryOperator operator)
Reduces the elements inside of the Iterable down to one element
|
LongAsyncBuilder |
sorted(LongComparator sorter)
Sorts the elements inside of the Iterable.
|
public LongAsyncBuilder(LongIterable iterable)
iterable - that should be processedpublic LongAsyncBuilder(LongAsyncBuilder.BaseLongTask task)
task - that had been buildpublic static LongAsyncBuilder of(java.lang.Iterable<java.lang.Long> iterable)
iterable - that should be wrappedpublic static LongAsyncBuilder of(long... values)
values - that should be wrappedpublic <E> ObjectAsyncBuilder<E> map(Long2ObjectFunction<E> mapper)
E - The return type.mapper - the mapping functionpublic <E,V extends java.lang.Iterable<E>> ObjectAsyncBuilder<E> flatMap(Long2ObjectFunction<V> mapper)
V - The return type supplier.E - The return type.mapper - the flatMapping functionpublic <E> ObjectAsyncBuilder<E> arrayflatMap(Long2ObjectFunction<E[]> mapper)
E - The return type.mapper - the flatMapping functionpublic LongAsyncBuilder filter(Long2BooleanFunction filter)
filter - the elements that should be keptpublic LongAsyncBuilder distinct()
public LongAsyncBuilder limit(long limit)
limit - how many elements should max be iterated throughpublic LongAsyncBuilder sorted(LongComparator sorter)
sorter - that sorts the elements.public LongAsyncBuilder peek(LongConsumer action)
action - the action that should be appliedpublic ObjectAsyncBuilder<java.lang.Void> forEach(LongConsumer action)
action - that should be appliedpublic LongAsyncBuilder reduce(LongLongUnaryOperator operator)
operator - that reduces the elements.public LongAsyncBuilder reduce(long identity, LongLongUnaryOperator operator)
identity - the element the reduce function should start withoperator - that reduces the elements.public ObjectAsyncBuilder<LongList> pourAsList()
public ObjectAsyncBuilder<LongSet> pourAsSet()
public <E extends LongCollection> ObjectAsyncBuilder<E> pour(E collection)
E - the return typecollection - the collection the elementspublic BooleanAsyncBuilder matchAny(Long2BooleanFunction filter)
filter - that decides the desired elementspublic BooleanAsyncBuilder matchNone(Long2BooleanFunction filter)
filter - that decides the unwanted elementspublic BooleanAsyncBuilder matchAll(Long2BooleanFunction filter)
filter - that decides the desired elementspublic LongAsyncBuilder findFirst(Long2BooleanFunction filter)
filter - that decides the desired elementspublic IntAsyncBuilder count(Long2BooleanFunction filter)
filter - that decides the desired elementspublic LongAsyncBuilder executor(java.util.concurrent.Executor executor)
executor - that executes the task, defaults to SanityChecks.invokeAsyncTask(Runnable)public LongAsyncBuilder onCompletion(java.util.function.Consumer<LongTask> callback)
callback - that should be notified after completion of the taskpublic LongTask execute()
public long join()
throws java.util.concurrent.ExecutionException,
java.lang.InterruptedException
java.util.concurrent.ExecutionException - if the task threw a exceptionjava.lang.InterruptedException - if the caller thread was interruptedpublic long join(long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException,
java.util.concurrent.ExecutionException,
java.util.concurrent.TimeoutException
timeout - of how long the thread should wait the task to be completedunit - of the desired waiting time.java.lang.InterruptedException - if the caller thread was interruptedjava.util.concurrent.ExecutionException - if the task threw a exceptionjava.util.concurrent.TimeoutException - if the timeout was reached before the task was finished