001    /*
002     @license.text@ 
003     */
004    package biz.hammurapi.legacy.persistence;
005    
006    /**
007     * @author Pavel Vlasov
008     * @version $Revision: 1.1 $
009     */
010    public interface Storage {
011            /**
012             * Stores object to storage and returns key.
013             * @param o
014             * @return key. If key is null then storage could not store the object.
015             */
016            String put(Object o) throws PersistenceException;
017            
018            /**
019             * Retrieves object from storage
020             * @param key
021             * @return
022             */
023            Object get(String key) throws PersistenceException;
024            
025            /**
026             * Removes object from storage
027             * @param key
028             */
029            void remove(String key) throws PersistenceException;
030    }