Class StatusCheckPollingStrategy<T,U>

java.lang.Object
com.azure.core.util.polling.StatusCheckPollingStrategy<T,U>
Type Parameters:
T - the type of the response type from a polling call, or BinaryData if raw response body should be kept
U - the type of the final result object to deserialize into, or BinaryData if raw response body should be kept
All Implemented Interfaces:
PollingStrategy<T,U>

public class StatusCheckPollingStrategy<T,U> extends Object implements PollingStrategy<T,U>
Fallback polling strategy that doesn't poll but exits successfully if no other polling strategies are detected and status code is 2xx.
  • Constructor Details

    • StatusCheckPollingStrategy

      public StatusCheckPollingStrategy()
      Creates a status check polling strategy with a JSON serializer.
    • StatusCheckPollingStrategy

      public StatusCheckPollingStrategy(ObjectSerializer serializer)
      Creates a status check polling strategy with a custom object serializer.
      Parameters:
      serializer - a custom serializer for serializing and deserializing polling responses
  • Method Details

    • canPoll

      public Mono<Boolean> canPoll(Response<?> initialResponse)
      Description copied from interface: PollingStrategy
      Checks if this strategy is able to handle polling for this long-running operation based on the information in the initial response.
      Specified by:
      canPoll in interface PollingStrategy<T,U>
      Parameters:
      initialResponse - the response from the initial method call to activate the long-running operation
      Returns:
      true if this polling strategy can handle the initial response, false if not
    • onInitialResponse

      public Mono<PollResponse<T>> onInitialResponse(Response<?> response, PollingContext<T> pollingContext, TypeReference<T> pollResponseType)
      Description copied from interface: PollingStrategy
      Parses the initial response into a 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.
      Specified by:
      onInitialResponse in interface PollingStrategy<T,U>
      Parameters:
      response - the response from the initial method call to activate the long-running operation
      pollingContext - the PollingContext for the current polling operation
      pollResponseType - 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 PollingStrategy.
      Returns:
      a publisher emitting the poll response containing the status and the response content
    • poll

      public Mono<PollResponse<T>> poll(PollingContext<T> context, TypeReference<T> pollResponseType)
      Description copied from interface: PollingStrategy
      Parses the response from the polling URL into a 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.
      Specified by:
      poll in interface PollingStrategy<T,U>
      Parameters:
      context - the PollingContext for the current polling operation
      pollResponseType - 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 PollingStrategy.
      Returns:
      a publisher emitting the poll response containing the status and the response content
    • getResult

      public Mono<U> getResult(PollingContext<T> pollingContext, TypeReference<U> resultType)
      Description copied from interface: PollingStrategy
      Parses the response from the final GET call into the result type of the long-running operation.
      Specified by:
      getResult in interface PollingStrategy<T,U>
      Parameters:
      pollingContext - the PollingContext for the current polling operation
      resultType - the TypeReference of the final result object to deserialize into, or BinaryData if raw response body should be kept.
      Returns:
      a publisher emitting the final result