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

E26041-01

coherence/net/OperationalContext.hpp

00001 /*
00002 * OperationalContext.hpp
00003 *
00004 * Copyright (c) 2000, 2013, 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_OPERATIONAL_CONTEXT_HPP
00017 #define COH_OPERATIONAL_CONTEXT_HPP
00018 
00019 #include "coherence/lang.ns"
00020 
00021 #include "coherence/net/Member.hpp"
00022 #include "coherence/run/xml/XmlElement.hpp"
00023 #include "coherence/security/IdentityAsserter.hpp"
00024 #include "coherence/security/IdentityTransformer.hpp"
00025 #include "coherence/util/Map.hpp"
00026 
00027 COH_OPEN_NAMESPACE2(coherence,net)
00028 
00029 using coherence::run::xml::XmlElement;
00030 using coherence::security::IdentityAsserter;
00031 using coherence::security::IdentityTransformer;
00032 using coherence::util::Map;
00033 
00034 
00035 /**
00036 * OperationalContext is an interface for providing Oracle Coherence
00037 * operational configuration.
00038 *
00039 * @author phf  2010.10.28
00040 *
00041 * @since Coherence 3.7
00042 */
00043 class COH_EXPORT OperationalContext
00044     : public interface_spec<OperationalContext>
00045     {
00046     // ----- OperationalContext interface -----------------------------------
00047 
00048     public:
00049         /**
00050         * Get the product edition.
00051         *
00052         * @return the product edition
00053         */
00054         virtual int32_t getEdition() const = 0;
00055 
00056         /**
00057         * Get the product edition in a formatted string.
00058         *
00059         * @return the product edition in a formatted string
00060         */
00061         virtual String::View getEditionName() const = 0;
00062 
00063         /**
00064         * Return a Member object representing this process.
00065         *
00066         * @return the local Member
00067         */
00068         virtual Member::View getLocalMember() const = 0;
00069 
00070         /**
00071         * Return a Map of network filter factories.
00072         *
00073         * @return a Map of WrapperStreamFactory instances keyed by filter
00074         *         name
00075         */
00076         virtual Map::View getFilterMap() const = 0;
00077 
00078         /**
00079         * Return a Map of serializer factories.
00080         *
00081         * @return a Map of SerializerFactory instances keyed by serializer
00082         *         name
00083         *
00084         * @since Coherence 12.1.2
00085         */
00086         virtual Map::View getSerializerMap() const = 0;
00087 
00088         /**
00089         * Return a Map of address provider factories.
00090         *
00091         * @return a Map of AddressProviderFactory instances keyed by address
00092         *         provider name
00093         *
00094         * @since Coherence 12.1.2
00095         */
00096         virtual Map::View getAddressProviderMap() const = 0;
00097 
00098         /**
00099         * Return an IdentityAsserter that can be used to establish a user's
00100         * identity.
00101         *
00102         * @return the IdentityAsserter
00103         */
00104         virtual IdentityAsserter::View getIdentityAsserter() const = 0;
00105 
00106         /**
00107         * Return an IdentityTransformer that can be used to transform a
00108         * Subject into an identity assertion.
00109         *
00110         * @return the IdentityTransformer
00111         */
00112         virtual IdentityTransformer::View getIdentityTransformer() const = 0;
00113 
00114         /**
00115         * Indicates if Subject scoping is enabled.
00116         *
00117         * @return true if subject scoping is enabled
00118         */
00119         virtual bool isSubjectScopingEnabled() const = 0;
00120 
00121         /**
00122         * Return the logging severity level.
00123         *
00124         * @return the logging severity level
00125         */
00126         virtual int32_t getLogLevel() const = 0;
00127 
00128         /**
00129         * Return the maximum number of characters for a logger daemon to
00130         * queue before truncating.
00131         *
00132         * @return the maximum number of characters for a logger daemon
00133         *         to queue before truncating
00134         */
00135         virtual int32_t getLogCharacterLimit() const = 0;
00136 
00137         /**
00138         * Return the log message format.
00139         *
00140         * @return the log message format
00141         */
00142         virtual String::View getLogMessageFormat() const = 0;
00143 
00144         /**
00145         * Return the destination for log messages.
00146         *
00147         * @return the destination for log messages
00148         */
00149         virtual String::View getLogDestination() const = 0;
00150     };
00151 
00152 COH_CLOSE_NAMESPACE2
00153 
00154 #endif // COH_OPERATIONAL_CONTEXT_HPP
Copyright © 2000, 2013, Oracle and/or its affiliates. All rights reserved.