view src/org/dancres/blitz/arc/BackingStore.java @ 33:0b9265358617

Added tag 2.1.1 for changeset a77f0a9ed93c
author Dan Creswell <dan.creswell@gmail.com>
date Sat, 12 Jun 2010 10:52:10 +0100
parents 3dc0c5604566
children
line wrap: on
line source

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();
}