Oracle® Fusion Middleware C++ API Reference for Oracle Coherence
12c (12.2.1.3.0)

E80355-01

coherence/net/cache/IterableCacheLoader.hpp

00001 /*
00002 * IterableCacheLoader.hpp
00003 *
00004 * Copyright (c) 2000, 2017, 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_ITERABLE_CACHE_LOADER_HPP
00017 #define COH_ITERABLE_CACHE_LOADER_HPP
00018 
00019 #include "coherence/lang.ns"
00020 #include "coherence/net/cache/CacheLoader.hpp"
00021 #include "coherence/util/Iterator.hpp"
00022 
00023 
00024 COH_OPEN_NAMESPACE3(coherence,net,cache)
00025 
00026 using coherence::util::Iterator;
00027 
00028 /**
00029 * A CacheLoader that can iterate its underlying contents.
00030 *
00031 * @author nsa 2008.07.01
00032 */
00033 class COH_EXPORT IterableCacheLoader
00034     : public interface_spec<IterableCacheLoader,
00035         implements<CacheLoader> >
00036     {
00037     // ----- IterableCacheLoader interface ----------------------------------
00038 
00039     public:
00040         /**
00041         * Iterate all keys in the underlying store.
00042         *
00043         * @return a read-only iterator of the keys in the underlying store
00044         *
00045         * @throws UnsupportedOperationException  if the underlying store is
00046         *         not iterable
00047         */
00048         virtual Iterator::Handle keys() = 0;
00049     };
00050 
00051 
00052 COH_CLOSE_NAMESPACE3
00053 
00054 
00055 #endif // #ifndef COH_ITERABLE_CACHE_LOADER_HPP
Copyright © 2000, 2017, Oracle and/or its affiliates. All rights reserved.