package com.fourspaces.featherdb.backend;
import java.util.Map;
import java.util.Set;
import org.json.JSONArray;
import com.fourspaces.featherdb.FeatherDB;
import com.fourspaces.featherdb.document.Document;
public interface Backend {
public void init(FeatherDB featherDB);
public void shutdown();
public Set<String> getDatabaseNames();
public void addDatabase(String name) throws BackendException;
public void deleteDatabase(String name) throws BackendException;
public Map<String,Object> getDatabaseStats(String name);
public Iterable<Document> allDocuments(String db);
public Iterable<Document> getDocuments(String db, String[] ids);
public Document getDocument(String db,String id);
public Document getDocument(String db,String id, String rev);
public JSONArray getDocumentRevisions(String db,String id);
public boolean doesDatabaseExist(String db);
public boolean doesDocumentExist(String db, String id);
public boolean doesDocumentRevisionExist(String db, String id, String revision);
public Document saveDocument(Document doc) throws BackendException;
public void deleteDocument(String db,String id) throws BackendException;
public void touchRevision(String database, String id, String rev);
}