org.swisspush.reststorage.Storage Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rest-storage Show documentation
Show all versions of rest-storage Show documentation
Persistence for REST resources in the filesystem or a redis database
package org.swisspush.reststorage;
import io.vertx.core.Handler;
import org.swisspush.reststorage.util.LockMode;
import java.util.List;
import java.util.Optional;
public interface Storage {
/**
* Gets the current percentage of the actual memory usage. Possible values are in range 0.0 to 100.0
*
* @return the current percentage of the actual memory usage
*/
Optional getCurrentMemoryUsage();
void get(String path, String etag, int offset, int count, Handler handler);
void storageExpand(String path, String etag, List subResources, Handler handler);
void put(String path, String etag, boolean merge, long expire, Handler handler);
void put(String path, String etag, boolean merge, long expire, String lockOwner, LockMode lockMode, long lockExpire, Handler handler);
void put(String path, String etag, boolean merge, long expire, String lockOwner, LockMode lockMode, long lockExpire, boolean storeCompressed, Handler handler);
void delete(String path, String lockOwner, LockMode lockMode, long lockExpire, boolean confirmCollectionDelete, boolean deleteRecursive, Handler handler);
void cleanup(Handler handler, String cleanupResourcesAmount);
}