Oracle Coherence for C++ API
Release 3.6.0.0

E15728-01

coherence/io/pof/reflect/PofNavigator.hpp

00001 /*
00002 * PofNavigator.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_POF_NAVIGATOR_HPP
00017 #define COH_POF_NAVIGATOR_HPP
00018 
00019 #include "coherence/lang.ns"
00020 
00021 #include "coherence/io/pof/reflect/PofValue.hpp"
00022 
00023 COH_OPEN_NAMESPACE4(coherence,io,pof,reflect)
00024 
00025 
00026 /**
00027 * The PofNavigator interface represents an algorithm for navigating a PofValue
00028 * hierarchy in order to locate a contained PofValue for extraction, modification
00029 * and/or removal purposes.
00030 *
00031 * @author as/gm  2009.04.01
00032 * @since Coherence 3.5
00033 */
00034 class COH_EXPORT PofNavigator
00035     : public interface_spec<PofNavigator>
00036     {
00037     // ----- PofNavigator interface -----------------------------------------
00038 
00039     public:
00040         /**
00041         * Locate the {@link PofValue} designated by this PofNavigator within
00042         * the passed PofValue.
00043         *
00044         * @param hValueOrigin  the origin from which navigation starts
00045         *
00046         * @return the resulting PofValue
00047         *
00048         * @throws PofNavigationException  if the navigation fails; for
00049         *         example one of the intermediate nodes in this path is a
00050         *         "terminal" PofValue.
00051         */
00052         virtual PofValue::Handle navigate(PofValue::Handle hValueOrigin) const = 0;
00053     };
00054 
00055 COH_CLOSE_NAMESPACE4
00056 
00057 #endif // COH_POF_NAVIGATOR_HPP
Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.