AsyncOperation<T> Classe
- java.
lang. Object - java.
util. concurrent. Future<T> - com.
microsoft. connecteddevices. AsyncOperation<T>
- com.
- java.
Paramètres de type
- T
public class AsyncOperation
Opération qui a un résultat futur de type T ou une exception possible. Cette classe est une version légèrement simplifiée de la classe 24 CompletableFuture de l’api Android
Implémente l’interface Future standard et fournit également des fonctionnalités de continuation de base. Pour plus d’informations sur l’utilisation de cette classe, consultez CompletableFuture .
Les différences importantes entre CompletableFuture et AsyncOperation sont les suivantes : 1. L’exécuteur asynchrone par défaut d’AsyncOperation est Executors.newCachedThreadPool(), tandis que CompletableFuture utilise ForkJoinPool.commonPool(). 2. AsyncOperation ne dispose pas de méthodes obtrudeException et obtrudeValue.
Récapitulatif du constructeur
Constructeur | Description |
---|---|
AsyncOperation() |
Crée un AsyncOperation |
Résumé de la méthode
Modificateur et type | Méthode et description |
---|---|
<U> Async |
_handleAsyncInternal(AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action, Executor executor)
Le trio de handles de fonctions (handle(action), handleAsync(action) et handleAsync(action,Exécuteur)) sont les fonctions de continuation les plus basiques sur lesquelles les autres sont créées. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats antécédents et les exceptions antécédentes. |
Async |
_whenCompleteAsyncInternal(AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action, Executor executor)
Le trio de fonctions whenComplete (whenComplete(action), whenCompleteAsync(action) et whenCompleteAsync(action,Executor)) est similaire aux fonctions handle. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats antécédents et les exceptions antécédentes. Contrairement à handle, les résultats de l’action ne se propagent pas aux opérations dépendantes ; ils observent l’exception/résultat de cette étape au lieu du passé dans l’action |
Async |
acceptEither( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultConsumer<? super T> action)
Le trio de fonctions acceptEither exécute un passé dans ResultConsumer lorsque cette opération ou l’opération passée se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement. |
Async |
acceptEitherAsync( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultConsumer<? super T> action)
Le trio de fonctions acceptEither exécute un passé dans ResultConsumer lorsque cette opération ou l’opération passée se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement. |
Async |
acceptEitherAsync( @NonNull AsyncOperation<? extends T> other, AsyncOperation.ResultConsumer<? super T> action, @NonNull Executor executor)
Le trio de fonctions acceptEither exécute un passé dans ResultConsumer lorsque cette opération ou l’opération passée se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement. |
Async |
allOf(@NonNull AsyncOperation<?>... operations)
Crée une opération qui se termine lorsque toutes les opérations passées sont terminées. |
Async |
anyOf(@NonNull AsyncOperation<?>... operations)
Crée une opération qui se termine lorsque l’une des opérations passées est terminée. |
<U> Async |
applyToEither( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action)
Le trio de fonctions applyToEither exécute un passé dans ResultFunction lorsque cette opération ou l’opération passée se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement. |
<U> Async |
applyToEitherAsync( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action)
Le trio de fonctions applyToEither exécute un passé dans ResultFunction lorsque cette opération ou l’opération passée se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement. |
<U> Async |
applyToEitherAsync(@NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action, @NonNull Executor executor)
Le trio de fonctions applyToEither exécute un passé dans ResultFunction lorsque cette opération ou l’opération passée se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement. |
boolean |
cancel(boolean mayInterruptIfRunning)
Tente d’annuler l’avenir et d’arrêter d’attendre un résultat. L’annulation d’une AsyncOperation entraîne la réception immédiate d’une exception CancellationException par tous les threads en attente d’avenir via get(). L’exécution de l’opération n’est pas interrompue, mais tout résultat éventuel d’un appel annulé est ignoré. |
final void |
complete(T value)
Termine cette opération avec une valeur donnée. |
static<U> Async |
completedFuture(U value)
Crée une opération qui est déjà terminée avec la valeur donnée |
final void |
completeExceptionally(@NonNull Throwable ex)
Définit l’exception qui sera levée lors de la récupération de la valeur future et marque la future terminée. |
Async |
exceptionally(@NonNull AsyncOperation.ResultFunction<Throwable, ? extends T> action)
Permet d’attacher des continuations qui ne s’exécutent qu’en cas d’achèvement exceptionnel de cette opération. Notez qu’il n’existe pas de variantes *async* de exceptionnellement. L’action ne doit donc pas être longue, car elle peut bloquer le thread qui a terminé cette opération ou le thread appelant ( dans le cas d’une opération déjà terminée). |
T |
get()
Obtient la valeur future, en attendant si nécessaire que l’avenir soit terminé. |
T |
get(long timeout, @NonNull TimeUnit unit)
Tente d’obtenir la valeur future, en attendant si nécessaire jusqu’à ce que l’avenir soit terminé ou jusqu’à ce qu’un délai d’expiration soit imparti. |
final T |
getNow(T valueIfAbsent)
Obtient la valeur de l’opération qui retourne immédiatement une valeur passée si l’opération n’est pas encore terminée. |
int |
getNumberOfDependents()
Obtient une estimation du nombre d’opérations qui dépendent de cette opération. Cela n’est pas destiné à être utilisé à des fins de synchronisation/planification. |
<U> Async |
handle(@NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action)
Le trio de handles de fonctions (handle(action), handleAsync(action) et handleAsync(action,Exécuteur)) sont les fonctions de continuation les plus basiques sur lesquelles les autres sont créées. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats antécédents et les exceptions antécédentes. |
<U> Async |
handleAsync(@NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action)
Le trio de handles de fonctions (handle(action), handleAsync(action) et handleAsync(action,Exécuteur)) sont les fonctions de continuation les plus basiques sur lesquelles les autres sont créées. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats antécédents et les exceptions antécédentes. |
<U> Async |
handleAsync( @NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action, @NonNull Executor executor)
Le trio de handles de fonctions (handle(action), handleAsync(action) et handleAsync(action,Exécuteur)) sont les fonctions de continuation les plus basiques sur lesquelles les autres sont créées. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats antécédents et les exceptions antécédentes. |
boolean |
isCancelled()
Vérifie si l’avenir a été annulé avec succès. |
boolean |
isCompletedExceptionally()
Vérifie si l’opération s’est terminée de manière exceptionnelle (annulation ou completeExceptionally) |
boolean |
isDone()
Vérifie si l’avenir est terminé. L’avenir se fait lorsque le résultat est défini ou qu’une exception est définie. |
T |
join()
Obtient la valeur future, en attendant si nécessaire que l’avenir soit terminé. Contrairement à get(), la jointure lève une exception CompletionException si une exception s’est produite dans le processus de fin de cette opération |
Async |
runAfterBoth(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
Le trio de fonctions runAfterBoth exécute un runnable passé dans Runnable lorsque cette opération et l’opération passée se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement. |
Async |
runAfterBothAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
Le trio de fonctions runAfterBoth exécute un runnable passé dans Runnable lorsque cette opération et l’opération passée se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement. |
Async |
runAfterBothAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action, @NonNull Executor executor)
Le trio de fonctions runAfterBoth exécute un runnable passé dans Runnable lorsque cette opération et l’opération passée se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement. |
Async |
runAfterEither(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
Le trio de fonctions runAfterEither exécute un runnable passé dans Runnable lorsque cette opération ou l’opération passée dans se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement. |
Async |
runAfterEitherAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
Le trio de fonctions runAfterEither exécute un runnable passé dans Runnable lorsque cette opération ou l’opération passée dans se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement. |
Async |
runAfterEitherAsync( @NonNull AsyncOperation<?> other, @NonNull Runnable action, @NonNull Executor executor)
Le trio de fonctions runAfterEither exécute un runnable passé dans Runnable lorsque cette opération ou l’opération passée dans se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement. |
Async |
runAsync(@NonNull Runnable runnable)
Crée une opération qui exécutera le passé dans Runnable sur l’exécuteur par défaut |
Async |
runAsync(@NonNull Runnable runnable, @NonNull Executor executor)
Crée une opération qui exécutera le passé dans Runnable sur l’exécuteur passé dans |
static<U> Async |
supplyAsync(@NonNull AsyncOperation.Supplier<U> supplier)
Crée une opération qui utilisera l’exécuteur par défaut pour obtenir une valeur du fournisseur |
static<U> Async |
supplyAsync(@NonNull AsyncOperation.Supplier<U> supplier, @NonNull Executor executor)
Crée une opération qui utilisera l’exécuteur passé pour obtenir une valeur du fournisseur |
Async |
thenAccept(@NonNull ResultConsumer<? super T> action)
Le trio de fonctions thenAccept (thenAccept(action), thenAcceptAsync(action), puisAcceptAsync(action,Executor)) exécutent un message transmis dans ResultConsumer lorsque cette opération se termine correctement. |
Async |
thenAcceptAsync(@NonNull ResultConsumer<? super T> action)
Le trio de fonctions thenAccept (thenAccept(action), thenAcceptAsync(action), puisAcceptAsync(action,Executor)) exécutent un message transmis dans ResultConsumer lorsque cette opération se termine correctement. |
Async |
thenAcceptAsync(@NonNull ResultConsumer<? super T> action, @NonNull Executor executor)
Le trio de fonctions thenAccept (thenAccept(action), thenAcceptAsync(action), puisAcceptAsync(action,Executor)) exécutent un message transmis dans ResultConsumer lorsque cette opération se termine correctement. |
<U> Async |
thenAcceptBoth( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action)
Le trio de fonctions thenAcceptBoth exécute un transmis dans ResultConsumer lorsque cette opération et l’opération passée dans se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement. |
<U> Async |
thenAcceptBothAsync( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action)
Le trio de fonctions thenAcceptBoth exécute un transmis dans ResultConsumer lorsque cette opération et l’opération passée dans se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement. |
<U> Async |
thenAcceptBothAsync(@NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action, @NonNull Executor executor)
Le trio de fonctions thenAcceptBoth exécute un transmis dans ResultConsumer lorsque cette opération et l’opération passée dans se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement. |
<U> Async |
thenApply(@NonNull ResultFunction<? super T, ? extends U> action)
Le trio de fonctions thenApply (thenApplyAsync(action), thenApplyAsync(action), puisApplyAsync(action,Executor)) exécutent un message transmis dans ResultFunction lorsque cette opération se termine correctement. |
<U> Async |
thenApplyAsync(@NonNull ResultFunction<? super T, ? extends U> action)
Le trio de fonctions thenApply (thenApplyAsync(action), thenApplyAsync(action), puisApplyAsync(action,Executor)) exécutent un message transmis dans ResultFunction lorsque cette opération se termine correctement. |
<U> Async |
thenApplyAsync(@NonNull ResultFunction<? super T, ? extends U> action, @NonNull Executor executor)
Le trio de fonctions thenApply (thenApplyAsync(action), thenApplyAsync(action), puisApplyAsync(action,Executor)) exécutent un message transmis dans ResultFunction lorsque cette opération se termine correctement. |
<U, V> Async |
thenCombine( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action)
Le trio de fonctions thenCombine exécute un message transmis dans ResultFunction lorsque cette opération et l’opération passée se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement. |
<U, V> Async |
thenCombineAsync( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action)
Le trio de fonctions thenCombine exécute un message transmis dans ResultFunction lorsque cette opération et l’opération passée se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement. |
<U, V> Async |
thenCombineAsync(@NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action, @NonNull Executor executor)
Le trio de fonctions thenCombine exécute un message transmis dans ResultFunction lorsque cette opération et l’opération passée se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement. |
<U> Async |
thenCompose(@NonNull AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action)
Le trio de fonctions thenCompose exécute un message transmis dans ResultFunction lorsque cette opération s’est terminée avec succès. ResultFunction renvoie un AsyncOperation T et l’opération de retour de cet appel retourne un AsyncOperation<T> par opposition à AsyncOperation T asyncOperation<<T><>> |
<U> Async |
thenComposeAsync(@NonNull AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action)
Le trio de fonctions thenCompose exécute un message transmis dans ResultFunction lorsque cette opération s’est terminée avec succès. ResultFunction renvoie un AsyncOperation T et l’opération de retour de cet appel retourne un AsyncOperation<T> par opposition à AsyncOperation T asyncOperation<<T><>> |
<U> Async |
thenComposeAsync(AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action, Executor executor)
Le trio de fonctions thenCompose exécute un message transmis dans ResultFunction lorsque cette opération s’est terminée avec succès. ResultFunction renvoie un AsyncOperation T et l’opération de retour de cet appel retourne un AsyncOperation<T> par opposition à AsyncOperation T asyncOperation<<T><>> |
Async |
thenRun(@NonNull Runnable action)
Le trio de fonctions thenRun (thenRun(action), thenRunAsync(action) et puisRunAsync(action,Executor)) exécutent un runnable passé lorsque cette opération se termine correctement. |
Async |
thenRunAsync(@NonNull Runnable action)
Le trio de fonctions thenRun (thenRun(action), thenRunAsync(action) et puisRunAsync(action,Executor)) exécutent un runnable passé lorsque cette opération se termine correctement. |
Async |
thenRunAsync(@NonNull Runnable action, @NonNull Executor executor)
Le trio de fonctions thenRun (thenRun(action), thenRunAsync(action) et puisRunAsync(action,Executor)) exécutent un runnable passé lorsque cette opération se termine correctement. |
Async |
whenComplete(@NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action)
Le trio de fonctions whenComplete (whenComplete(action), whenCompleteAsync(action) et whenCompleteAsync(action,Executor)) est similaire aux fonctions handle. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats d’antécédents et les exceptions antérieures. Contrairement à handle, les résultats de l’action ne se propagent pas aux opérations dépendantes ; ils observent l’exception/résultat de cette étape au lieu de l’action passée |
Async |
whenCompleteAsync(@NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action)
Le trio de fonctions whenComplete (whenComplete(action), whenCompleteAsync(action) et whenCompleteAsync(action,Executor)) est similaire aux fonctions handle. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats d’antécédents et les exceptions antérieures. Contrairement à handle, les résultats de l’action ne se propagent pas aux opérations dépendantes ; ils observent l’exception/résultat de cette étape au lieu de l’action passée |
Async |
whenCompleteAsync( @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action, @NonNull Executor executor)
Le trio de fonctions whenComplete (whenComplete(action), whenCompleteAsync(action) et whenCompleteAsync(action,Executor)) est similaire aux fonctions handle. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats d’antécédents et les exceptions antérieures. Contrairement à handle, les résultats de l’action ne se propagent pas aux opérations dépendantes ; ils observent l’exception/résultat de cette étape au lieu de l’action passée |
Détails du constructeur
AsyncOperation
public AsyncOperation()
Crée un AsyncOperation
Détails de la méthode
_handleAsyncInternal
protected AsyncOperation _handleAsyncInternal(AsyncOperation.ResultBiFunction super T, ? super Throwable, ? extends U> action, Executor executor)
Le trio de handles de fonctions (handle(action), handleAsync(action) et handleAsync(action,Exécuteur)) sont les fonctions de continuation les plus basiques sur lesquelles les autres sont créées. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats antécédents et les exceptions antécédentes.
Parameters:
Returns:
_whenCompleteAsyncInternal
protected AsyncOperation
Le trio de fonctions whenComplete (whenComplete(action), whenCompleteAsync(action) et whenCompleteAsync(action,Executor)) est similaire aux fonctions handle. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats antécédents et les exceptions antécédentes. Contrairement à handle, les résultats de l’action ne se propagent pas aux opérations dépendantes ; ils observent l’exception/résultat de cette étape au lieu du passé dans l’action
Parameters:
Returns:
acceptEither
public AsyncOperation
Le trio de fonctions acceptEither exécute un passé dans ResultConsumer lorsque cette opération ou l’opération passée se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
acceptEitherAsync
public AsyncOperation
Le trio de fonctions acceptEither exécute un passé dans ResultConsumer lorsque cette opération ou l’opération passée se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
acceptEitherAsync
public AsyncOperation
Le trio de fonctions acceptEither exécute un passé dans ResultConsumer lorsque cette opération ou l’opération passée se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
allOf
public static AsyncOperation
Crée une opération qui se termine lorsque toutes les opérations passées sont terminées.
Parameters:
Returns:
anyOf
public static AsyncOperation
Crée une opération qui se termine lorsque l’une des opérations passées est terminée.
Parameters:
Returns:
applyToEither
public AsyncOperation applyToEither( @NonNull AsyncOperation extends T> other, @NonNull AsyncOperation.ResultFunction super T, U> action)
Le trio de fonctions applyToEither exécute un passé dans ResultFunction lorsque cette opération ou l’opération passée se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
applyToEitherAsync
public AsyncOperation applyToEitherAsync( @NonNull AsyncOperation extends T> other, @NonNull AsyncOperation.ResultFunction super T, U> action)
Le trio de fonctions applyToEither exécute un passé dans ResultFunction lorsque cette opération ou l’opération passée se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
applyToEitherAsync
public AsyncOperation applyToEitherAsync(@NonNull AsyncOperation extends T> other, @NonNull AsyncOperation.ResultFunction super T, U> action, @NonNull Executor executor)
Le trio de fonctions applyToEither exécute un passé dans ResultFunction lorsque cette opération ou l’opération passée se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
cancel
public boolean cancel(boolean mayInterruptIfRunning)
Tente d’annuler l’avenir et d’arrêter d’attendre un résultat.
L’annulation d’une AsyncOperation entraîne la réception immédiate d’une exception CancellationException par tous les threads en attente d’avenir via get(). L’exécution de l’opération n’est pas interrompue, mais tout résultat éventuel d’un appel annulé est ignoré.
Parameters:
Returns:
complete
public final void complete(T value)
Termine cette opération avec une valeur donnée.
Parameters:
completedFuture
public static static AsyncOperation completedFuture(U value)
Crée une opération qui est déjà terminée avec la valeur donnée
Parameters:
Returns:
completeExceptionally
public final void completeExceptionally(@NonNull Throwable ex)
Définit l’exception qui sera levée lors de la récupération de la valeur future et marque la future terminée.
Parameters:
exceptionally
public AsyncOperation
Permet d’attacher des continuations qui ne s’exécutent qu’en cas d’achèvement exceptionnel de cette opération. Notez qu’il n’existe pas de variantes *async* de exceptionnellement. L’action ne doit donc pas être longue, car elle peut bloquer le thread qui a terminé cette opération ou le thread appelant ( dans le cas d’une opération déjà terminée).
Parameters:
get
public T get()
Obtient la valeur future, en attendant si nécessaire que l’avenir soit terminé.
Returns:
get
public T get(long timeout, @NonNull TimeUnit unit)
Tente d’obtenir la valeur future, en attendant si nécessaire jusqu’à ce que l’avenir soit terminé ou jusqu’à ce qu’un délai d’expiration soit imparti.
Parameters:
Returns:
getNow
public final T getNow(T valueIfAbsent)
Obtient la valeur de l’opération qui retourne immédiatement une valeur passée si l’opération n’est pas encore terminée.
Parameters:
Returns:
getNumberOfDependents
public int getNumberOfDependents()
Obtient une estimation du nombre d’opérations qui dépendent de cette opération. Cela n’est pas destiné à être utilisé à des fins de synchronisation/planification.
Returns:
handle
public AsyncOperation handle(@NonNull AsyncOperation.ResultBiFunction super T, ? super Throwable, ? extends U> action)
Le trio de handles de fonctions (handle(action), handleAsync(action) et handleAsync(action,Exécuteur)) sont les fonctions de continuation les plus basiques sur lesquelles les autres sont créées. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats antécédents et les exceptions antécédentes.
Parameters:
Returns:
handleAsync
public AsyncOperation handleAsync(@NonNull AsyncOperation.ResultBiFunction super T, ? super Throwable, ? extends U> action)
Le trio de handles de fonctions (handle(action), handleAsync(action) et handleAsync(action,Exécuteur)) sont les fonctions de continuation les plus basiques sur lesquelles les autres sont créées. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats antécédents et les exceptions antécédentes.
Parameters:
Returns:
handleAsync
public AsyncOperation handleAsync( @NonNull AsyncOperation.ResultBiFunction super T, ? super Throwable, ? extends U> action, @NonNull Executor executor)
Le trio de handles de fonctions (handle(action), handleAsync(action) et handleAsync(action,Exécuteur)) sont les fonctions de continuation les plus basiques sur lesquelles les autres sont créées. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats antécédents et les exceptions antécédentes.
Parameters:
Returns:
isCancelled
public boolean isCancelled()
Vérifie si l’avenir a été annulé avec succès.
Returns:
isCompletedExceptionally
public boolean isCompletedExceptionally()
Vérifie si l’opération s’est terminée de manière exceptionnelle (annulation ou completeExceptionally)
Returns:
isDone
public boolean isDone()
Vérifie si l’avenir est terminé. L’avenir se fait lorsque le résultat est défini ou qu’une exception est définie.
Returns:
join
public T join()
Obtient la valeur future, en attendant si nécessaire que l’avenir soit terminé. Contrairement à get(), la jointure lève une exception CompletionException si une exception s’est produite dans le processus de fin de cette opération
Returns:
runAfterBoth
public AsyncOperation
Le trio de fonctions runAfterBoth exécute un runnable passé dans Runnable lorsque cette opération et l’opération passée se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
runAfterBothAsync
public AsyncOperation
Le trio de fonctions runAfterBoth exécute un runnable passé dans Runnable lorsque cette opération et l’opération passée se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
runAfterBothAsync
public AsyncOperation
Le trio de fonctions runAfterBoth exécute un runnable passé dans Runnable lorsque cette opération et l’opération passée se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
runAfterEither
public AsyncOperation
Le trio de fonctions runAfterEither exécute un runnable passé dans Runnable lorsque cette opération ou l’opération passée dans se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
runAfterEitherAsync
public AsyncOperation
Le trio de fonctions runAfterEither exécute un runnable passé dans Runnable lorsque cette opération ou l’opération passée dans se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
runAfterEitherAsync
public AsyncOperation
Le trio de fonctions runAfterEither exécute un runnable passé dans Runnable lorsque cette opération ou l’opération passée dans se termine correctement. Si l’opération qui se termine le fait exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
runAsync
public static AsyncOperation
Crée une opération qui exécutera le passé dans Runnable sur l’exécuteur par défaut
Parameters:
Returns:
runAsync
public static AsyncOperation
Crée une opération qui exécutera le passé dans Runnable sur l’exécuteur passé dans
Parameters:
Returns:
supplyAsync
public static static AsyncOperation supplyAsync(@NonNull AsyncOperation.Supplier supplier)
Crée une opération qui utilisera l’exécuteur par défaut pour obtenir une valeur du fournisseur
Parameters:
Returns:
supplyAsync
public static static AsyncOperation supplyAsync(@NonNull AsyncOperation.Supplier supplier, @NonNull Executor executor)
Crée une opération qui utilisera l’exécuteur passé pour obtenir une valeur du fournisseur
Parameters:
Returns:
thenAccept
public AsyncOperation
Le trio de fonctions thenAccept (thenAccept(action), thenAcceptAsync(action), puisAcceptAsync(action,Executor)) exécutent un message transmis dans ResultConsumer lorsque cette opération se termine correctement.
Parameters:
Returns:
thenAcceptAsync
public AsyncOperation
Le trio de fonctions thenAccept (thenAccept(action), thenAcceptAsync(action), puisAcceptAsync(action,Executor)) exécutent un message transmis dans ResultConsumer lorsque cette opération se termine correctement.
Parameters:
Returns:
thenAcceptAsync
public AsyncOperation
Le trio de fonctions thenAccept (thenAccept(action), thenAcceptAsync(action), puisAcceptAsync(action,Executor)) exécutent un message transmis dans ResultConsumer lorsque cette opération se termine correctement.
Parameters:
Returns:
thenAcceptBoth
public AsyncOperation
Le trio de fonctions thenAcceptBoth exécute un transmis dans ResultConsumer lorsque cette opération et l’opération passée dans se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
thenAcceptBothAsync
public AsyncOperation
Le trio de fonctions thenAcceptBoth exécute un transmis dans ResultConsumer lorsque cette opération et l’opération passée dans se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
thenAcceptBothAsync
public AsyncOperation
Le trio de fonctions thenAcceptBoth exécute un transmis dans ResultConsumer lorsque cette opération et l’opération passée dans se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
thenApply
public AsyncOperation thenApply(@NonNull ResultFunction super T, ? extends U> action)
Le trio de fonctions thenApply (thenApplyAsync(action), thenApplyAsync(action), puisApplyAsync(action,Executor)) exécutent un message transmis dans ResultFunction lorsque cette opération se termine correctement.
Parameters:
Returns:
thenApplyAsync
public AsyncOperation thenApplyAsync(@NonNull ResultFunction super T, ? extends U> action)
Le trio de fonctions thenApply (thenApplyAsync(action), thenApplyAsync(action), puisApplyAsync(action,Executor)) exécutent un message transmis dans ResultFunction lorsque cette opération se termine correctement.
Parameters:
Returns:
thenApplyAsync
public AsyncOperation thenApplyAsync(@NonNull ResultFunction super T, ? extends U> action, @NonNull Executor executor)
Le trio de fonctions thenApply (thenApplyAsync(action), thenApplyAsync(action), puisApplyAsync(action,Executor)) exécutent un message transmis dans ResultFunction lorsque cette opération se termine correctement.
Parameters:
Returns:
thenCombine
public AsyncOperation
Le trio de fonctions thenCombine exécute un message transmis dans ResultFunction lorsque cette opération et l’opération passée se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
thenCombineAsync
public AsyncOperation
Le trio de fonctions thenCombine exécute un message transmis dans ResultFunction lorsque cette opération et l’opération passée se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
thenCombineAsync
public AsyncOperation
Le trio de fonctions thenCombine exécute un message transmis dans ResultFunction lorsque cette opération et l’opération passée se termine correctement. Si l’une ou l’autre opération se termine exceptionnellement, l’opération retournée se termine également exceptionnellement.
Parameters:
Returns:
thenCompose
public AsyncOperation thenCompose(@NonNull AsyncOperation.ResultFunction super T, ? extends AsyncOperation> action)
Le trio de fonctions thenCompose exécute un message transmis dans ResultFunction lorsque cette opération s’est terminée avec succès. ResultFunction renvoie un AsyncOperation T et l’opération de retour de cet appel retourne un AsyncOperation<T> par opposition à AsyncOperation T asyncOperation<<T><>>
Parameters:
Returns:
thenComposeAsync
public AsyncOperation thenComposeAsync(@NonNull AsyncOperation.ResultFunction super T, ? extends AsyncOperation> action)
Le trio de fonctions thenCompose exécute un message transmis dans ResultFunction lorsque cette opération s’est terminée avec succès. ResultFunction renvoie un AsyncOperation T et l’opération de retour de cet appel retourne un AsyncOperation<T> par opposition à AsyncOperation T asyncOperation<<T><>>
Parameters:
Returns:
thenComposeAsync
public AsyncOperation thenComposeAsync(AsyncOperation.ResultFunction super T, ? extends AsyncOperation> action, Executor executor)
Le trio de fonctions thenCompose exécute un message transmis dans ResultFunction lorsque cette opération s’est terminée avec succès. ResultFunction renvoie un AsyncOperation T et l’opération de retour de cet appel retourne un AsyncOperation<T> par opposition à AsyncOperation T asyncOperation<<T><>>
Parameters:
Returns:
thenRun
public AsyncOperation
Le trio de fonctions thenRun (thenRun(action), thenRunAsync(action) et puisRunAsync(action,Executor)) exécutent un runnable passé lorsque cette opération se termine correctement.
Parameters:
Returns:
thenRunAsync
public AsyncOperation
Le trio de fonctions thenRun (thenRun(action), thenRunAsync(action) et puisRunAsync(action,Executor)) exécutent un runnable passé lorsque cette opération se termine correctement.
Parameters:
Returns:
thenRunAsync
public AsyncOperation
Le trio de fonctions thenRun (thenRun(action), thenRunAsync(action) et puisRunAsync(action,Executor)) exécutent un runnable passé lorsque cette opération se termine correctement.
Parameters:
Returns:
whenComplete
public AsyncOperation
Le trio de fonctions whenComplete (whenComplete(action), whenCompleteAsync(action) et whenCompleteAsync(action,Executor)) est similaire aux fonctions handle. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats d’antécédents et les exceptions antérieures. Contrairement à handle, les résultats de l’action ne se propagent pas aux opérations dépendantes ; ils observent l’exception/résultat de cette étape au lieu de l’action passée
Parameters:
Returns:
whenCompleteAsync
public AsyncOperation
Le trio de fonctions whenComplete (whenComplete(action), whenCompleteAsync(action) et whenCompleteAsync(action,Executor)) est similaire aux fonctions handle. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats d’antécédents et les exceptions antérieures. Contrairement à handle, les résultats de l’action ne se propagent pas aux opérations dépendantes ; ils observent l’exception/résultat de cette étape au lieu de l’action passée
Parameters:
Returns:
whenCompleteAsync
public AsyncOperation
Le trio de fonctions whenComplete (whenComplete(action), whenCompleteAsync(action) et whenCompleteAsync(action,Executor)) est similaire aux fonctions handle. En cas de réussite ou d’exécution exceptionnelle de cette opération, l’action passée est exécutée, ce qui permet d’observer à la fois les résultats d’antécédents et les exceptions antérieures. Contrairement à handle, les résultats de l’action ne se propagent pas aux opérations dépendantes ; ils observent l’exception/résultat de cette étape au lieu de l’action passée
Parameters:
Returns: