public final class ApolloCacheInterceptor extends java.lang.Object implements ApolloInterceptor
ApolloInterceptor
responsible for serving requests from the normalized
cache. It takes the following actions based on the CacheControl
set:
ApolloInterceptor.InterceptorResponse
with the GraphQL Operation
object wrapped inside. ApolloInterceptor.CallBack, ApolloInterceptor.InterceptorResponse
Constructor and Description |
---|
ApolloCacheInterceptor(ApolloStore apolloStore,
CacheControl cacheControl,
CacheHeaders cacheHeaders,
com.apollographql.apollo.api.ResponseFieldMapper responseFieldMapper,
java.util.Map<com.apollographql.apollo.api.ScalarType,CustomTypeAdapter> customTypeAdapters,
java.util.concurrent.ExecutorService dispatcher,
ApolloLogger logger) |
Modifier and Type | Method and Description |
---|---|
void |
dispose()
Disposes of the resources which are no longer required.
|
ApolloInterceptor.InterceptorResponse |
intercept(com.apollographql.apollo.api.Operation operation,
ApolloInterceptorChain chain)
Intercepts the outgoing request, performs blocking operations on the request or the response returned by the next
set of interceptors in the chain, and returns an
ApolloInterceptor.InterceptorResponse if the operations succeeded or throws
an exception if the operations failed. |
void |
interceptAsync(com.apollographql.apollo.api.Operation operation,
ApolloInterceptorChain chain,
java.util.concurrent.ExecutorService dispatcher,
ApolloInterceptor.CallBack callBack)
Intercepts the outgoing request and performs non blocking operations on the request or the response returned by
the next set of interceptors in the chain.
|
public ApolloCacheInterceptor(@Nonnull ApolloStore apolloStore, @Nonnull CacheControl cacheControl, @Nonnull CacheHeaders cacheHeaders, @Nonnull com.apollographql.apollo.api.ResponseFieldMapper responseFieldMapper, @Nonnull java.util.Map<com.apollographql.apollo.api.ScalarType,CustomTypeAdapter> customTypeAdapters, @Nonnull java.util.concurrent.ExecutorService dispatcher, @Nonnull ApolloLogger logger)
@Nonnull public ApolloInterceptor.InterceptorResponse intercept(com.apollographql.apollo.api.Operation operation, ApolloInterceptorChain chain) throws ApolloException
ApolloInterceptor
ApolloInterceptor.InterceptorResponse
if the operations succeeded or throws
an exception if the operations failed.intercept
in interface ApolloInterceptor
operation
- the GraphQL Operation object contained within the outgoing request.chain
- the ApolloInterceptorChain object containing the next set of interceptors.ApolloException
- if an error occurred while performing operations on the request/response.public void interceptAsync(@Nonnull com.apollographql.apollo.api.Operation operation, @Nonnull ApolloInterceptorChain chain, @Nonnull java.util.concurrent.ExecutorService dispatcher, @Nonnull ApolloInterceptor.CallBack callBack)
ApolloInterceptor
interceptAsync
in interface ApolloInterceptor
operation
- the GraphQL Operation object contained within the outgoing request.chain
- the ApolloInterceptorChain object containing the next set of interceptors.dispatcher
- the ExecutorService which dispatches the non blocking operations on the request/response.callBack
- the Callback which will handle the interceptor's response or failure exception.public void dispose()
ApolloInterceptor
A use case for this method call would be when an ApolloCall
needs to be
cancelled and resources need to be disposed of.
dispose
in interface ApolloInterceptor