00001 
00002 
00003 
00004 
00005 
00006 
00007 #ifndef COH_CONDITIONAL_PUT_ALL_HPP
00008 #define COH_CONDITIONAL_PUT_ALL_HPP
00009 
00010 #include "coherence/lang.ns"
00011 
00012 #include "coherence/io/pof/PofReader.hpp"
00013 #include "coherence/io/pof/PofWriter.hpp"
00014 #include "coherence/io/pof/PortableObject.hpp"
00015 #include "coherence/util/Filter.hpp"
00016 #include "coherence/util/InvocableMap.hpp"
00017 #include "coherence/util/Map.hpp"
00018 #include "coherence/util/processor/AbstractProcessor.hpp"
00019 
00020 COH_OPEN_NAMESPACE3(coherence,util, processor)
00021 
00022 using coherence::io::pof::PofReader;
00023 using coherence::io::pof::PofWriter;
00024 using coherence::io::pof::PortableObject;
00025 using coherence::util::Filter;
00026 using coherence::util::InvocableMap;
00027 using coherence::util::Map;
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 class COH_EXPORT ConditionalPutAll
00038     : public class_spec<ConditionalPutAll,
00039         extends<AbstractProcessor>,
00040         implements<PortableObject> >
00041     {
00042     friend class factory<ConditionalPutAll>;
00043 
00044     
00045 
00046     protected:
00047 
00048 
00049 
00050         ConditionalPutAll();
00051 
00052 
00053 
00054 
00055 
00056 
00057 
00058 
00059 
00060 
00061         ConditionalPutAll(Filter::View vFilter, Map::View vMap);
00062 
00063 
00064     
00065 
00066     public:
00067 
00068 
00069 
00070         virtual Object::Holder process(
00071                 InvocableMap::Entry::Handle hEntry) const;
00072 
00073 
00074 
00075 
00076         virtual Map::View processAll(Set::View vsetEntries) const;
00077 
00078 
00079     
00080 
00081     public:
00082 
00083 
00084 
00085         virtual void readExternal(PofReader::Handle hIn);
00086 
00087 
00088 
00089 
00090         virtual void writeExternal(PofWriter::Handle hOut) const;
00091 
00092 
00093     
00094 
00095     public:
00096 
00097 
00098 
00099         virtual bool equals(Object::View v) const;
00100 
00101 
00102 
00103 
00104         virtual size32_t hashCode() const;
00105 
00106 
00107     
00108 
00109     protected:
00110 
00111 
00112 
00113         FinalView<Filter> f_vFilter;
00114 
00115 
00116 
00117 
00118         FinalView<Map> f_vMap;
00119     };
00120 
00121 COH_CLOSE_NAMESPACE3
00122 
00123 #endif // COH_CONDITIONAL_PUT_ALL_HPP