view src/org/dancres/blitz/arc/BackingStore.java @ 27:511648fa4d64 Version 2.1

Version to 2.1
author Dan Creswell <dan.creswell@gmail.com>
date Mon, 04 Jan 2010 13:00:40 +0000
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();
}