Class SyncStatusCheckPollingStrategy<T,U>

java.lang.Object
com.azure.core.util.polling.SyncStatusCheckPollingStrategy<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:
SyncPollingStrategy<T,U>

public class SyncStatusCheckPollingStrategy<T,U> extends Object implements SyncPollingStrategy<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

    • SyncStatusCheckPollingStrategy

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

      public SyncStatusCheckPollingStrategy(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 boolean canPoll(Response<?> initialResponse)
      Description copied from interface: SyncPollingStrategy
      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 SyncPollingStrategy<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 PollResponse<T> onInitialResponse(Response<?> response, PollingContext<T> pollingContext, TypeReference<T> pollResponseType)
      Description copied from interface: SyncPollingStrategy
      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 SyncPollingStrategy<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 U.
      Returns:
      the poll response containing the status and the response content
    • poll

      public PollResponse<T> poll(PollingContext<T> context, TypeReference<T> pollResponseType)
      Description copied from interface: SyncPollingStrategy
      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 SyncPollingStrategy<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 U.
      Returns:
      the poll response containing the status and the response content
    • getResult

      public U getResult(PollingContext<T> pollingContext, TypeReference<U> resultType)
      Description copied from interface: SyncPollingStrategy
      Parses the response from the final GET call into the result type of the long-running operation.
      Specified by:
      getResult in interface SyncPollingStrategy<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:
      the final result