package org.swisspush.reststorage; import io.vertx.core.Handler; import org.swisspush.reststorage.util.LockMode; import java.util.List; public interface Storage { void get(String path, String etag, int offset, int count, Handler<Resource> handler); void storageExpand(String path, String etag, List<String> subResources, Handler<Resource> handler); void put(String path, String etag, boolean merge, long expire, Handler<Resource> handler); void put(String path, String etag, boolean merge, long expire, String lockOwner, LockMode lockMode, long lockExpire, Handler<Resource> handler); void put(String path, String etag, boolean merge, long expire, String lockOwner, LockMode lockMode, long lockExpire, boolean storeCompressed, Handler<Resource> handler); void delete(String path, Handler<Resource> handler); void delete(String path, String lockOwner, LockMode lockMode, long lockExpire, Handler<Resource> handler); void cleanup(Handler<DocumentResource> handler, String cleanupResourcesAmount); }