Package com.azure.core.util.polling
Class SyncOperationResourcePollingStrategy<T,U>
java.lang.Object
com.azure.core.util.polling.SyncOperationResourcePollingStrategy<T,U>
- Type Parameters:
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 kept
- All Implemented Interfaces:
SyncPollingStrategy<T,
U>
public class SyncOperationResourcePollingStrategy<T,U>
extends Object
implements SyncPollingStrategy<T,U>
Implements a synchronous operation resource polling strategy, typically from Operation-Location.
-
Constructor Summary
ConstructorDescriptionSyncOperationResourcePollingStrategy
(HttpPipeline httpPipeline) Creates an instance of the operation resource polling strategy using a JSON serializer and "Operation-Location" as the header for polling.SyncOperationResourcePollingStrategy
(HttpPipeline httpPipeline, ObjectSerializer serializer, String operationLocationHeaderName) Creates an instance of the operation resource polling strategy.SyncOperationResourcePollingStrategy
(HttpPipeline httpPipeline, ObjectSerializer serializer, String operationLocationHeaderName, Context context) Creates an instance of the operation resource polling strategy.SyncOperationResourcePollingStrategy
(HttpPipeline httpPipeline, String endpoint, ObjectSerializer serializer, String operationLocationHeaderName, Context context) Creates an instance of the operation resource polling strategy. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Checks if this strategy is able to handle polling for this long-running operation based on the information in the initial response.getResult
(PollingContext<T> pollingContext, TypeReference<U> resultType) Parses the response from the final GET call into the result type of the long-running operation.onInitialResponse
(Response<?> response, PollingContext<T> pollingContext, TypeReference<T> pollResponseType) Parses the initial response into aLongRunningOperationStatus
, and stores information useful for polling in thePollingContext
.poll
(PollingContext<T> pollingContext, TypeReference<T> pollResponseType) Parses the response from the polling URL into aPollResponse
, and stores information useful for further polling and final response in thePollingContext
.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.azure.core.util.polling.SyncPollingStrategy
cancel
-
Constructor Details
-
SyncOperationResourcePollingStrategy
Creates an instance of the operation resource polling strategy using a JSON serializer and "Operation-Location" as the header for polling.- Parameters:
httpPipeline
- an instance ofHttpPipeline
to send requests with
-
SyncOperationResourcePollingStrategy
public SyncOperationResourcePollingStrategy(HttpPipeline httpPipeline, ObjectSerializer serializer, String operationLocationHeaderName) Creates an instance of the operation resource polling strategy.- Parameters:
httpPipeline
- an instance ofHttpPipeline
to send requests withserializer
- a custom serializer for serializing and deserializing polling responsesoperationLocationHeaderName
- a custom header for polling the long-running operation
-
SyncOperationResourcePollingStrategy
public SyncOperationResourcePollingStrategy(HttpPipeline httpPipeline, ObjectSerializer serializer, String operationLocationHeaderName, Context context) Creates an instance of the operation resource polling strategy.- Parameters:
httpPipeline
- an instance ofHttpPipeline
to send requests withserializer
- a custom serializer for serializing and deserializing polling responsesoperationLocationHeaderName
- a custom header for polling the long-running operationcontext
- an instance ofContext
-
SyncOperationResourcePollingStrategy
public SyncOperationResourcePollingStrategy(HttpPipeline httpPipeline, String endpoint, ObjectSerializer serializer, String operationLocationHeaderName, Context context) Creates an instance of the operation resource polling strategy.- Parameters:
httpPipeline
- an instance ofHttpPipeline
to send requests with.endpoint
- an endpoint for creating an absolute path when the path itself is relative.serializer
- a custom serializer for serializing and deserializing polling responses.operationLocationHeaderName
- a custom header for polling the long-running operation.context
- an instance ofContext
.
-
-
Method Details
-
canPoll
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 interfaceSyncPollingStrategy<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 aLongRunningOperationStatus
, and stores information useful for polling in thePollingContext
. If the result is anything other thanLongRunningOperationStatus.IN_PROGRESS
, the long-running operation will be terminated and none of the other methods will be invoked.- Specified by:
onInitialResponse
in interfaceSyncPollingStrategy<T,
U> - Parameters:
response
- the response from the initial method call to activate the long-running operationpollingContext
- thePollingContext
for the current polling operationpollResponseType
- theTypeReference
of the response type from a polling call, or BinaryData if raw response body should be kept. This should match the generic parameterSyncPollingStrategy
.- Returns:
- the poll response containing the status and the response content
-
poll
Description copied from interface:SyncPollingStrategy
Parses the response from the polling URL into aPollResponse
, and stores information useful for further polling and final response in thePollingContext
. The result must have theLongRunningOperationStatus
specified, and the entire polling response content as aBinaryData
.- Specified by:
poll
in interfaceSyncPollingStrategy<T,
U> - Parameters:
pollingContext
- thePollingContext
for the current polling operationpollResponseType
- theTypeReference
of the response type from a polling call, or BinaryData if raw response body should be kept. This should match the generic parameterSyncPollingStrategy
.- Returns:
- the poll response containing the status and the response content
-
getResult
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 interfaceSyncPollingStrategy<T,
U> - Parameters:
pollingContext
- thePollingContext
for the current polling operationresultType
- theTypeReference
of the final result object to deserialize into, or BinaryData if raw response body should be kept.- Returns:
- the final result
-