normalizedCache
fun ApolloClient.Builder.normalizedCache(normalizedCacheFactory: NormalizedCacheFactory, cacheKeyGenerator: CacheKeyGenerator, cacheResolver: CacheResolver, metadataGenerator: MetadataGenerator = EmptyMetadataGenerator, recordMerger: RecordMerger = DefaultRecordMerger, fieldKeyGenerator: FieldKeyGenerator = DefaultFieldKeyGenerator, embeddedFieldsProvider: EmbeddedFieldsProvider = EmptyEmbeddedFieldsProvider, maxAgeProvider: MaxAgeProvider = DefaultMaxAgeProvider, enableOptimisticUpdates: Boolean = false, writeToCacheAsynchronously: Boolean = false): ApolloClient.Builder
Configures an ApolloClient with a normalized cache.
Parameters
normalizedCacheFactory
a factory that creates a com.apollographql.cache.normalized.api.NormalizedCache. It will only be called once. The reason this is a factory is to enforce creating the cache from a non-main thread. For native the thread where the cache is created will also be isolated so that the cache can be mutated.
cacheResolver
a CacheResolver to customize normalization
cacheKeyGenerator
a CacheKeyGenerator to generate cache keys for objects
writeToCacheAsynchronously
set to true to write to the cache after the response has been emitted. This allows to display results faster.
fun ApolloClient.Builder.normalizedCache(normalizedCacheFactory: NormalizedCacheFactory, typePolicies: Map<String, TypePolicy>, fieldPolicies: Map<String, FieldPolicies>, metadataGenerator: MetadataGenerator = EmptyMetadataGenerator, recordMerger: RecordMerger = DefaultRecordMerger, fieldKeyGenerator: FieldKeyGenerator = DefaultFieldKeyGenerator, embeddedFieldsProvider: EmbeddedFieldsProvider = EmptyEmbeddedFieldsProvider, maxAgeProvider: MaxAgeProvider = DefaultMaxAgeProvider, keyScope: CacheKey.Scope = CacheKey.Scope.TYPE, enableOptimisticUpdates: Boolean = false, writeToCacheAsynchronously: Boolean = false): ApolloClient.Builder
fun ApolloClient.Builder.normalizedCache(normalizedCacheFactory: NormalizedCacheFactory, typePolicies: Map<String, TypePolicy>, fieldPolicies: Map<String, FieldPolicies>, connectionTypes: Set<String>, embeddedFields: Map<String, EmbeddedFields>, maxAges: Map<String, MaxAge>, defaultMaxAge: Duration, keyScope: CacheKey.Scope, enableOptimisticUpdates: Boolean, writeToCacheAsynchronously: Boolean): ApolloClient.Builder