Oracle® Fusion Middleware C++ API Reference for Oracle Coherence
12c (12.2.1.2.0)

E77779-01

coherence/util/processor/AbstractClusterProcessor.hpp

00001 /*
00002 * AbstractClusterProcessor.hpp
00003 *
00004 * Copyright (c) 2000, 2016, 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_ABSTRACT_CLUSTER_PROCESSOR_HPP
00017 #define COH_ABSTRACT_CLUSTER_PROCESSOR_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 
00025 #include "coherence/util/processor/AbstractProcessor.hpp"
00026 
00027 COH_OPEN_NAMESPACE3(coherence,util, processor)
00028 
00029 using coherence::io::pof::PofReader;
00030 using coherence::io::pof::PofWriter;
00031 using coherence::io::pof::PortableObject;
00032 
00033 /**
00034 * Base class for entry processors that may only be executed
00035 * within the cluster.
00036 *
00037 * @author wl  2013.07.02
00038 */
00039 class COH_EXPORT AbstractClusterProcessor
00040     : public abstract_spec<AbstractClusterProcessor,
00041         extends<AbstractProcessor>,
00042         implements<PortableObject> >
00043     {
00044     // ----- InvocableMap::EntryProcessor interface -------------------------
00045 
00046     public:
00047         /**
00048         * {@inheritDoc}
00049         */
00050         virtual Object::Holder process(
00051                 InvocableMap::Entry::Handle hEntry) const;
00052 
00053     // ----- PortableObject interface ---------------------------------------
00054 
00055     public:
00056         /**
00057         * {@inheritDoc}
00058         */
00059         virtual void readExternal(PofReader::Handle hIn);
00060 
00061         /**
00062         * {@inheritDoc}
00063         */
00064         virtual void writeExternal(PofWriter::Handle hOut) const;
00065     };
00066 
00067 COH_CLOSE_NAMESPACE3
00068 
00069 #endif // COH_ABSTRACT_CLUSTER_PROCESSOR_HPP
Copyright © 2000, 2016, Oracle and/or its affiliates. All rights reserved.