package org.apache.avalon.excalibur.cache;

import java.util.Iterator;

public interface CacheStore
{
    /**
     * Return capacity of store.
     *
     * @return capacity of store 
     */
    int capacity();

    /**
     * Return size of store.
     *
     * @return the number of key-value mappings in this store.
     */
    int size();

    boolean isFull();

    Object get( Object key );

    Object put( Object key, Object value );

    Object remove( Object key );

    boolean containsKey( Object key );

    /**
     * Return the list of all key.
     */
    Iterator list();
}
