Oracle Coherence for C++ API
Release 3.6.1.0
E18813-01

- Main Page
- Namespaces
- Classes
- Files

# coherence/util/filter/AlwaysFilter.hpp

    00001 /*
    00002 * AlwaysFilter.hpp
    00003 *
    00004 * Copyright (c) 2000, 2010, 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_ALWAYS_FILTER_HPP
    00017 #define COH_ALWAYS_FILTER_HPP
    00018
    00019 #include "coherence/lang.ns"
    00020
    00021 #include "coherence/io/pof/PofReader.hpp"
    00022 #include "coherence/io/pof/PofWriter.hpp"
    00023 #include "coherence/io/pof/PortableObject.hpp"
    00024 #include "coherence/util/Map.hpp"
    00025 #include "coherence/util/filter/EntryFilter.hpp"
    00026 #include "coherence/util/filter/IndexAwareFilter.hpp"
    00027
    00028 COH_OPEN_NAMESPACE3(coherence,util,filter)
    00029
    00030 using coherence::io::pof::PofReader;
    00031 using coherence::io::pof::PofWriter;
    00032 using coherence::io::pof::PortableObject;
    00033
    00034
    00035 /**
    00036 * Filter which always evaluates to true.
    00037 *
    00038 * @author djl  2008.04.08
    00039 */
    00040 class COH_EXPORT AlwaysFilter
    00041     : public class_spec<AlwaysFilter,
    00042         extends<Object>,
    00043         implements<IndexAwareFilter, PortableObject> >
    00044     {
    00045     friend class factory<AlwaysFilter>;
    00046
    00047     // ----- constructors ---------------------------------------------------
    00048
    00049     protected:
    00050         /**
    00051         * Construct an AlwaysFilter.
    00052         */
    00053         AlwaysFilter();
    00054
    00055
    00056     // ----- EntryFilter interface ------------------------------------------
    00057
    00058     public:
    00059         /**
    00060         * {@inheritDoc}
    00061         */
    00062         virtual bool evaluateEntry(Map::Entry::View vEntry) const;
    00063
    00064
    00065     // ----- Filter interface -----------------------------------------------
    00066
    00067     public:
    00068         /**
    00069         * {@inheritDoc}
    00070         */
    00071         virtual bool evaluate(Object::View v) const;
    00072
    00073
    00074     // ----- IndexAwareFilter interface -------------------------------------
    00075
    00076     public:
    00077         /**
    00078         * {@inheritDoc}
    00079         */
    00080         virtual size32_t calculateEffectiveness(Map::View vMapIndexes,
    00081                 Set::View vSetKeys) const;
    00082
    00083         /**
    00084         * {@inheritDoc}
    00085         */
    00086         virtual Filter::View applyIndex(Map::View vMapIndexes,
    00087                 Set::Handle hSetKeys) const;
    00088
    00089
    00090     // ----- PortableObject interface ---------------------------------------
    00091
    00092     public:
    00093         /**
    00094         * {@inheritDoc}
    00095         */
    00096         virtual void readExternal(PofReader::Handle hIn);
    00097
    00098         /**
    00099         * {@inheritDoc}
    00100         */
    00101         virtual void writeExternal(PofWriter::Handle hOut) const;
    00102
    00103
    00104     // ----- Object interface -----------------------------------------------
    00105
    00106     public:
    00107         /**
    00108         * {@inheritDoc}
    00109         */
    00110         virtual bool equals(Object::View v) const;
    00111
    00112         /**
    00113         * {@inheritDoc}
    00114         */
    00115         virtual size32_t hashCode() const;
    00116
    00117         /**
    00118         * {@inheritDoc}
    00119         */
    00120         virtual void toStream(std::ostream& out) const;
    00121
    00122
    00123     // ----- constants ------------------------------------------------------
    00124
    00125     public:
    00126         /**
    00127         * An instance of the AlwaysFilter.
    00128         */
    00129         static AlwaysFilter::Handle getInstance();
    00130     };
    00131
    00132 COH_CLOSE_NAMESPACE3
    00133
    00134 #endif // COH_ALWAYS_FILTER_HPP

Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.