Oracle Coherence for C++ API
Release 3.7.1.0
E22845-01
00001 /* 00002 * AbstractCacheStore.hpp 00003 * 00004 * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 00005 * 00006 * Oracle is a registered trademarks of Oracle Corporation and/or its 00007 * affiliates. 00008 * 00009 * This software is the confidential and proprietary information of Oracle 00010 * Corporation. You shall not disclose such confidential and proprietary 00011 * information and shall use it only in accordance with the terms of the 00012 * license agreement you entered into with Oracle. 00013 * 00014 * This notice may not be removed or altered. 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 * An abstract base class for CacheStore implementations. 00034 * 00035 * @author jh 2008.03.12 00036 */ 00037 class COH_EXPORT AbstractCacheStore 00038 : public abstract_spec<AbstractCacheStore, 00039 extends<AbstractCacheLoader>, 00040 implements<CacheStore> > 00041 { 00042 // ----- CacheStore interface ------------------------------------------- 00043 00044 public: 00045 /** 00046 * {@inheritDoc} 00047 */ 00048 virtual void store(Object::View vKey, Object::Holder ohValue); 00049 00050 /** 00051 * {@inheritDoc} 00052 */ 00053 virtual void storeAll(Map::View vMapEntries); 00054 00055 /** 00056 * {@inheritDoc} 00057 */ 00058 virtual void erase(Object::View vKey); 00059 00060 /** 00061 * {@inheritDoc} 00062 */ 00063 virtual void eraseAll(Collection::View vColKeys); 00064 }; 00065 00066 COH_CLOSE_NAMESPACE3 00067 00068 #endif // COH_ABSTRACT_CACHE_STORE_HPP