diff src/org/dancres/blitz/arc/BackingStore.java @ 0:3dc0c5604566

Initial checkin of blitz 2.0 fcs - no installer yet.
author Dan Creswell <dan.creswell@gmail.com>
date Sat, 21 Mar 2009 11:00:06 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/dancres/blitz/arc/BackingStore.java	Sat Mar 21 11:00:06 2009 +0000
@@ -0,0 +1,28 @@
+package org.dancres.blitz.arc;
+
+import java.io.IOException;
+
+import org.dancres.blitz.cache.Identifiable;
+import org.dancres.blitz.cache.Identifier;
+
+/**
+   Implementers of this class will be able to store and recover entities based
+   on an Identifier.
+ */
+public interface BackingStore {
+    /**
+       @return Identifiable associated with Identifier or <code>null</code>
+       if it cannot be found.
+     */
+    public Identifiable load(Identifier anId) throws IOException;
+
+    /**
+       Must deal with handling of delete, update and write.  All saves
+       MUST be done asynchronously.  i.e.  ArcCache does not expect this
+       method to block.  This is required to avoid the risk of deadlock under
+       various circumstances.
+     */
+    public void save(Identifiable anIdentifiable) throws IOException;
+
+    public String getName();
+}