public class ByteAsyncBuilder
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 |
ByteAsyncBuilder.BaseByteTask
Base Task of the Actions that can be performed.
|
| Constructor and Description |
|---|
ByteAsyncBuilder(ByteAsyncBuilder.BaseByteTask task)
Helper constructor.
|
ByteAsyncBuilder(ByteIterable iterable)
Main Constructor that uses a Iterable to build a Offthread Task.
|
| Modifier and Type | Method and Description |
|---|---|
<E> ObjectAsyncBuilder<E> |
arrayflatMap(ByteFunction<E[]> mapper)
Maps the elements to something else
|
IntAsyncBuilder |
count(BytePredicate filter)
Counts all desired elements inside the Iterable
|
ByteAsyncBuilder |
distinct()
Removes duplicated elements out of the Iterable
|
ByteTask |
execute()
Starts the Execution of the task without awaiting its result
|
ByteAsyncBuilder |
executor(java.util.concurrent.Executor executor)
Optional way to add a custom executor that runs this offthread task.
|
ByteAsyncBuilder |
filter(BytePredicate filter)
Filters out the unwanted elements out of the Iterable
|
ByteAsyncBuilder |
findFirst(BytePredicate filter)
Searches through the elements of the Iterable to find if the desired element.
|
<E,V extends java.lang.Iterable<E>> |
flatMap(ByteFunction<V> mapper)
Maps the elements to something else
|
ObjectAsyncBuilder<java.lang.Void> |
forEach(ByteConsumer action)
Iterates over the Iterable with a desired action
|
byte |
join()
Starts the Execution of the task and will await its completion, returning the result.
|
byte |
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.
|
ByteAsyncBuilder |
limit(long limit)
Limits how many elements are inside of the Iterable
|
<E> ObjectAsyncBuilder<E> |
map(ByteFunction<E> mapper)
Maps the elements to something else
|
BooleanAsyncBuilder |
matchAll(BytePredicate filter)
Searches through the elements of the Iterable to find if all the desired elements are present.
|
BooleanAsyncBuilder |
matchAny(BytePredicate filter)
Searches through the elements of the Iterable to find if the desired element is present.
|
BooleanAsyncBuilder |
matchNone(BytePredicate filter)
Searches through the elements of the Iterable to find if unwanted elements are present.
|
static ByteAsyncBuilder |
of(byte... values)
Helper function that automatically wraps a array into a AsyncBuilder since it forces this collections Iterable.
|
static ByteAsyncBuilder |
of(java.lang.Iterable<java.lang.Byte> iterable)
Helper function that automatically wraps a Iterable into a AsyncBuilder since it forces this collections Iterable.
|
ByteAsyncBuilder |
onCompletion(java.util.function.Consumer<ByteTask> callback)
Optional way to set a callback that allows to compute actions after the task was completed.
|
ByteAsyncBuilder |
peek(ByteConsumer action)
Allows to preview elements before they are processed
|
<E extends ByteCollection> |
pour(E collection)
Pours all elements into a collection that can be later
|
ObjectAsyncBuilder<ByteList> |
pourAsList()
Pours all elements into a List that can be later
|
ObjectAsyncBuilder<ByteSet> |
pourAsSet()
Pours all elements into a Set that can be later
|
ByteAsyncBuilder |
reduce(byte identity,
ByteByteUnaryOperator operator)
Reduces the elements inside of the Iterable down to one element using a identity element.
|
ByteAsyncBuilder |
reduce(ByteByteUnaryOperator operator)
Reduces the elements inside of the Iterable down to one element
|
ByteAsyncBuilder |
repeat(int repeats)
Repeats the elements inside of the Iterable
|
ByteAsyncBuilder |
sorted(ByteComparator sorter)
Sorts the elements inside of the Iterable.
|
ObjectAsyncBuilder<byte[]> |
toByteArray()
Pours all elements of the Iterable down into a Array.
|
public ByteAsyncBuilder(ByteIterable iterable)
iterable - that should be processedpublic ByteAsyncBuilder(ByteAsyncBuilder.BaseByteTask task)
task - that had been buildpublic static ByteAsyncBuilder of(java.lang.Iterable<java.lang.Byte> iterable)
iterable - that should be wrappedpublic static ByteAsyncBuilder of(byte... values)
values - that should be wrappedpublic <E> ObjectAsyncBuilder<E> map(ByteFunction<E> mapper)
E - The return type.mapper - the mapping functionpublic <E,V extends java.lang.Iterable<E>> ObjectAsyncBuilder<E> flatMap(ByteFunction<V> mapper)
V - The return type supplier.E - The return type.mapper - the flatMapping functionpublic <E> ObjectAsyncBuilder<E> arrayflatMap(ByteFunction<E[]> mapper)
E - The return type.mapper - the flatMapping functionpublic ByteAsyncBuilder filter(BytePredicate filter)
filter - the elements that should be keptpublic ByteAsyncBuilder distinct()
public ByteAsyncBuilder repeat(int repeats)
repeats - the amount of times the elements should be repeatedpublic ByteAsyncBuilder limit(long limit)
limit - how many elements should max be iterated throughpublic ByteAsyncBuilder sorted(ByteComparator sorter)
sorter - that sorts the elements.public ByteAsyncBuilder peek(ByteConsumer action)
action - the action that should be appliedpublic ObjectAsyncBuilder<java.lang.Void> forEach(ByteConsumer action)
action - that should be appliedpublic ByteAsyncBuilder reduce(ByteByteUnaryOperator operator)
operator - that reduces the elements.public ByteAsyncBuilder reduce(byte identity, ByteByteUnaryOperator operator)
identity - the element the reduce function should start withoperator - that reduces the elements.public ObjectAsyncBuilder<byte[]> toByteArray()
public ObjectAsyncBuilder<ByteList> pourAsList()
public ObjectAsyncBuilder<ByteSet> pourAsSet()
public <E extends ByteCollection> ObjectAsyncBuilder<E> pour(E collection)
E - the return typecollection - the collection the elementspublic BooleanAsyncBuilder matchAny(BytePredicate filter)
filter - that decides the desired elementspublic BooleanAsyncBuilder matchNone(BytePredicate filter)
filter - that decides the unwanted elementspublic BooleanAsyncBuilder matchAll(BytePredicate filter)
filter - that decides the desired elementspublic ByteAsyncBuilder findFirst(BytePredicate filter)
filter - that decides the desired elementspublic IntAsyncBuilder count(BytePredicate filter)
filter - that decides the desired elementspublic ByteAsyncBuilder executor(java.util.concurrent.Executor executor)
executor - that executes the task, defaults to SanityChecks.invokeAsyncTask(Runnable)public ByteAsyncBuilder onCompletion(java.util.function.Consumer<ByteTask> callback)
callback - that should be notified after completion of the taskpublic ByteTask execute()
public byte 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 byte 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