1 package org.myoodb.core; 25 26 import java.io.*; 27 import java.util.*; 28 29 import org.myoodb.exception.*; 30 31 public abstract interface AbstractStorage 32 { 33 public void startup() throws Exception ; 34 35 public void shutdown() throws Exception ; 36 37 public boolean isVerifyingDatabase(); 38 39 public boolean isDefraggingDatabase(); 40 41 public boolean isBackingUpDatabase(); 42 43 public boolean isRestoringDatabase(); 44 45 public boolean performingDatabaseMaintenance(); 46 47 public void verifyDatabase() throws Exception ; 48 49 public void defragDatabase() throws Exception ; 50 51 public void backupDatabase(String location) throws Exception ; 52 53 public void restoreDatabase(String location) throws Exception ; 54 55 public LinkedList getContainerIdentifiers() throws Exception ; 56 57 public HashMap getDefraggedContainerIdentifierMap(); 58 59 public AbstractObjectContainer createContainer(AbstractTransaction tx, Identifier id, String rootName, int accessLevel) throws IOException, ClassNotFoundException , TransactionException; 60 61 public AbstractObjectContainer getContainer(AbstractTransaction tx, Identifier id, String rootName) throws IOException, ClassNotFoundException , ObjectNotFoundException; 62 63 public AbstractTransaction createTransaction(User user); 64 65 public void setAssociatedTransaction(AbstractTransaction tx, AbstractObjectContainer container) throws IOException; 66 67 public void prepareTransaction(AbstractTransaction tx) throws IOException, ClassNotFoundException ; 68 69 public void commitTransaction(AbstractTransaction tx) throws IOException, ClassNotFoundException ; 70 71 public void abortTransaction(AbstractTransaction tx) throws IOException, ClassNotFoundException ; 72 73 public void emptyMemoryCache(); 74 } 75 | Popular Tags |