com.apollographql.apollo.api.cache.http.HttpCacheStore Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-android-sdk-appsync-api Show documentation
Show all versions of aws-android-sdk-appsync-api Show documentation
AWS SDK for Android GraphQL API classes
/**
* Copyright 2018-2019 Amazon.com,
* Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Amazon Software License (the "License").
* You may not use this file except in compliance with the
* License. A copy of the License is located at
*
* http://aws.amazon.com/asl/
*
* or in the "license" file accompanying this file. This file is
* distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, express or implied. See the License
* for the specific language governing permissions and
* limitations under the License.
*/
package com.apollographql.apollo.api.cache.http;
import java.io.IOException;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
/**
* CacheStore is an abstraction for a cache store that is used to read, modify or delete http responses.
*/
public interface HttpCacheStore {
/**
* Returns ResponseCacheRecord for the entry named cacheKey or null if it doesn't exist or is not currently readable.
*
* @param cacheKey the name of the entry
* @return ResponseCacheRecord
*/
@Nullable HttpCacheRecord cacheRecord(@Nonnull String cacheKey) throws IOException;
/**
* Returns an editor for the entry named cacheKey or null if another edit is in progress.
*
* @param cacheKey the entry to edit.
* @return {@link HttpCacheRecordEditor} to use for editing the entry
*/
@Nullable HttpCacheRecordEditor cacheRecordEditor(@Nonnull String cacheKey) throws IOException;
/**
* Drops the entry for key if it exists and can be removed. If the entry for key is currently being edited, that edit
* will complete normally but its value will not be stored.
*/
void remove(@Nonnull String cacheKey) throws IOException;
/**
* Closes the cache and deletes all of its stored values. This will delete all files in the cache directory including
* files that weren't created by the cache.
*/
void delete() throws IOException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy