T - the type of the response type from a polling call, or BinaryData if raw response body should be keptU - the type of the final result object to deserialize into, or BinaryData if raw response body should be
keptpublic final class ChainedPollingStrategy<T,U> extends Object implements PollingStrategy<T,U>
| Constructor and Description |
|---|
ChainedPollingStrategy(List<PollingStrategy<T,U>> strategies)
Creates a chained polling strategy with a list of polling strategies.
|
| Modifier and Type | Method and Description |
|---|---|
Mono<T> |
cancel(PollingContext<T> pollingContext,
PollResponse<T> initialResponse)
Cancels the long running operation if service supports cancellation.
|
Mono<Boolean> |
canPoll(Response<?> initialResponse)
Checks if this strategy is able to handle polling for this long running operation based on the information in
the initial response.
|
Mono<U> |
getResult(PollingContext<T> context,
TypeReference<U> resultType)
Parses the response from the final GET call into the result type of the long running operation.
|
Mono<PollResponse<T>> |
onInitialResponse(Response<?> response,
PollingContext<T> pollingContext,
TypeReference<T> pollResponseType)
Parses the initial response into a
LongRunningOperationStatus, and stores information useful for polling
in the PollingContext. |
Mono<PollResponse<T>> |
poll(PollingContext<T> context,
TypeReference<T> pollResponseType)
Parses the response from the polling URL into a
PollResponse, and stores information
useful for further polling and final response in the PollingContext. |
public ChainedPollingStrategy(List<PollingStrategy<T,U>> strategies)
strategies - the list of polling strategiespublic Mono<Boolean> canPoll(Response<?> initialResponse)
PollingStrategycanPoll in interface PollingStrategy<T,U>initialResponse - the response from the initial method call to activate the long running operationpublic Mono<U> getResult(PollingContext<T> context, TypeReference<U> resultType)
getResult in interface PollingStrategy<T,U>context - the PollingContext for the current polling operationresultType - the TypeReference of the final result object to deserialize into, or BinaryData if
raw response body should be kept.NullPointerException - if ChainedPollingStrategy.canPoll(Response) is not called prior to this, or if it returns false.public Mono<PollResponse<T>> onInitialResponse(Response<?> response, PollingContext<T> pollingContext, TypeReference<T> pollResponseType)
LongRunningOperationStatus, and stores information useful for polling
in the PollingContext. If the result is anything other than LongRunningOperationStatus.IN_PROGRESS,
the long running operation will be terminated and none of the other methods will be invoked.onInitialResponse in interface PollingStrategy<T,U>response - the response from the initial method call to activate the long running operationpollingContext - the PollingContext for the current polling operationpollResponseType - the TypeReference of the response type from a polling call, or BinaryData if raw
response body should be kept. This should match the generic parameter U.NullPointerException - if ChainedPollingStrategy.canPoll(Response) is not called prior to this, or if it returns false.public Mono<PollResponse<T>> poll(PollingContext<T> context, TypeReference<T> pollResponseType)
PollResponse, and stores information
useful for further polling and final response in the PollingContext. The result must have the
LongRunningOperationStatus specified, and the entire polling response content as a BinaryData.poll in interface PollingStrategy<T,U>context - the PollingContext for the current polling operationpollResponseType - the TypeReference of the response type from a polling call, or BinaryData if raw
response body should be kept. This should match the generic parameter U.NullPointerException - if ChainedPollingStrategy.canPoll(Response) is not called prior to this, or if it returns false.public Mono<T> cancel(PollingContext<T> pollingContext, PollResponse<T> initialResponse)
cancel in interface PollingStrategy<T,U>pollingContext - the PollingContext for the current polling operation, or null if the polling has
started in a SyncPollerinitialResponse - the response from the initial operationNullPointerException - if ChainedPollingStrategy.canPoll(Response) is not called prior to this, or if it returns false.Copyright © 2021 Microsoft Corporation. All rights reserved.