00001 /* 00002 * EntryFilter.hpp 00003 * 00004 * Copyright (c) 2000, 2020, 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_ENTRY_FILTER_HPP 00017 #define COH_ENTRY_FILTER_HPP 00018 00019 #include "coherence/lang.ns" 00020 00021 #include "coherence/util/Filter.hpp" 00022 #include "coherence/util/Map.hpp" 00023 00024 COH_OPEN_NAMESPACE3(coherence,util,filter) 00025 00026 00027 /** 00028 * EntryFilter provides an extension to Filter for those cases in which both 00029 * a key and a value may be necessary to evaluate the conditional inclusion 00030 * of a particular object. 00031 * 00032 * @author jh 2008.02.28 00033 */ 00034 class COH_EXPORT EntryFilter 00035 : public interface_spec<EntryFilter, 00036 implements<Filter> > 00037 { 00038 // ----- EntryFilter interface ------------------------------------------ 00039 00040 public: 00041 /** 00042 * Apply the test to a Map::Entry. 00043 * 00044 * @param vEntry the Map::Entry to evaluate; never NULL 00045 * 00046 * @return true if the test passes, false otherwise 00047 */ 00048 virtual bool evaluateEntry(Map::Entry::View vEntry) const = 0; 00049 }; 00050 00051 COH_CLOSE_NAMESPACE3 00052 00053 #endif // COH_ENTRY_FILTER_HPP