00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef COH_ABSTRACT_PROCESSOR_HPP
00017 #define COH_ABSTRACT_PROCESSOR_HPP
00018
00019 #include "coherence/lang.ns"
00020
00021 #include "coherence/util/Describable.hpp"
00022 #include "coherence/util/InvocableMap.hpp"
00023 #include "coherence/util/Map.hpp"
00024 #include "coherence/util/Set.hpp"
00025
00026 COH_OPEN_NAMESPACE3(coherence,util, processor)
00027
00028 using coherence::util::InvocableMap;
00029 using coherence::util::Map;
00030 using coherence::util::Set;
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 class COH_EXPORT AbstractProcessor
00044 : public abstract_spec<AbstractProcessor,
00045 extends<Describable>,
00046 implements<InvocableMap::EntryProcessor> >
00047 {
00048
00049
00050 public:
00051
00052
00053
00054
00055
00056
00057
00058 virtual Object::Holder process(InvocableMap::Entry::Handle hEntry) const;
00059
00060 public:
00061
00062
00063
00064 virtual Map::View processAll(Set::View vSetEntries) const;
00065 };
00066
00067 COH_CLOSE_NAMESPACE3
00068
00069 #endif // COH_ABSTRACT_PROCESSOR_HPP