00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 #ifndef COH_ABSTRACT_CACHE_STORE_HPP
00017 #define COH_ABSTRACT_CACHE_STORE_HPP
00018 
00019 #include "coherence/lang.ns"
00020 
00021 #include "coherence/net/cache/AbstractCacheLoader.hpp"
00022 #include "coherence/net/cache/CacheStore.hpp"
00023 #include "coherence/util/Collection.hpp"
00024 #include "coherence/util/Map.hpp"
00025 
00026 COH_OPEN_NAMESPACE3(coherence,net,cache)
00027 
00028 using coherence::util::Collection;
00029 using coherence::util::Map;
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 class COH_EXPORT AbstractCacheStore
00038     : public abstract_spec<AbstractCacheStore,
00039         extends<AbstractCacheLoader>,
00040         implements<CacheStore> >
00041     {
00042     
00043 
00044     public:
00045 
00046 
00047 
00048         virtual void store(Object::View vKey, Object::Holder ohValue);
00049 
00050 
00051 
00052 
00053         virtual void storeAll(Map::View vMapEntries);
00054 
00055 
00056 
00057 
00058         virtual void erase(Object::View vKey);
00059 
00060 
00061 
00062 
00063         virtual void eraseAll(Collection::View vColKeys);
00064     };
00065 
00066 COH_CLOSE_NAMESPACE3
00067 
00068 #endif // COH_ABSTRACT_CACHE_STORE_HPP