00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 #ifndef COH_INVERSE_COMPARATOR_HPP
00017 #define COH_INVERSE_COMPARATOR_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/Comparator.hpp"
00025 #include "coherence/util/comparator/SafeComparator.hpp"
00026 #include "coherence/util/QueryMap.hpp"
00027 #include "coherence/util/comparator/QueryMapComparator.hpp"
00028 
00029 COH_OPEN_NAMESPACE3(coherence,util,comparator)
00030 
00031 using coherence::io::pof::PofReader;
00032 using coherence::io::pof::PofWriter;
00033 using coherence::io::pof::PortableObject;
00034 using coherence::util::comparator::SafeComparator;
00035 
00036 
00037 
00038 
00039 
00040 
00041 class COH_EXPORT InverseComparator
00042     : public class_spec<InverseComparator,
00043         extends<SafeComparator>,
00044         implements<QueryMapComparator> >
00045     {
00046     friend class factory<InverseComparator>;
00047 
00048     
00049 
00050     protected:
00051 
00052 
00053 
00054         InverseComparator();
00055 
00056 
00057 
00058 
00059 
00060 
00061 
00062         InverseComparator(Comparator::View vComparator);
00063 
00064 
00065     
00066 
00067     public:
00068 
00069 
00070 
00071 
00072 
00073 
00074 
00075 
00076 
00077 
00078 
00079 
00080 
00081         virtual int32_t compare(Object::View vO1, Object::View vO2) const;
00082 
00083     
00084 
00085     public:
00086 
00087 
00088 
00089 
00090         virtual int32_t compareEntries(QueryMap::Entry::View vEntry1,
00091                     QueryMap::Entry::View vEntry2) const;
00092 
00093 
00094     
00095 
00096     public:
00097 
00098 
00099 
00100         virtual bool equals(Object::View v) const;
00101 
00102 
00103     
00104 
00105     public:
00106 
00107 
00108 
00109         static InverseComparator::Handle getInstance();
00110     };
00111 
00112 COH_CLOSE_NAMESPACE3
00113 
00114 #endif // COH_INVERSE_COMPARATOR_HPP