Class QueueableBase<T,R extends QResponse>

java.lang.Object
de.linusdev.lutils.async.executable.ExecutableTaskBase<T,R>
de.linusdev.lutils.async.queue.QueueableBase<T,R>
Type Parameters:
T - return type
R - response type
All Implemented Interfaces:
ExecutableTask<T,R>, HasAsyncManager, HasAsyncQueue<R>, PTask<T,R>, Queueable<T,R>, Task<T,R>

public abstract class QueueableBase<T,R extends QResponse> extends ExecutableTaskBase<T,R> implements Queueable<T,R>

Queueable base.


Example:

 QueueableImpl<String, Nothing> queueable = new QueueableImpl<>(manager) {
     @Override
     @NotNull
     public ComputationResult<String, Nothing> execute()
              throws InterruptedException {
         //Execute task
         Thread.sleep(3000);
         return new ComputationResult<>("test", Nothing.INSTANCE, null);
     }
 };


 Queueable<String, Nothing> qableToReturn = queueable;

 //End User:
 String result = qableToReturn.queue().getResult();
 System.out.println("Result: " + result);