| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #pragma once |
| |
| #include "geode_defs.hpp" |
| |
| #include "begin_native.hpp" |
| #include <geode/DataOutput.hpp> |
| #include "end_native.hpp" |
| |
| #include "ISubscriptionService.hpp" |
| |
| using namespace System; |
| using namespace System::Collections::Generic; |
| |
| namespace Apache |
| { |
| namespace Geode |
| { |
| namespace Client |
| { |
| |
| ref class Cache; |
| ref class CacheStatistics; |
| |
| interface class IRegionService; |
| |
| generic<class TResult> |
| interface class ISelectResults; |
| |
| generic<class TKey, class TValue> |
| ref class RegionEntry; |
| |
| generic<class TKey, class TValue> |
| ref class RegionAttributes; |
| |
| generic<class TKey, class TValue> |
| ref class AttributesMutator; |
| |
| /// <summary> |
| /// Encapsulates a concrete region of cached data. |
| /// Implements generic IDictionary<TKey, TValue> interface class. |
| /// </summary> |
| /// <remarks> |
| /// This class manages subregions and cached data. Each region |
| /// can contain multiple subregions and entries for data. |
| /// Regions provide a hierachical name space |
| /// within the cache. Also, a region can be used to group cached |
| /// objects for management purposes. |
| /// |
| /// Entries managed by the region are key-value pairs. A set of region attributes |
| /// is associated with the region when it is created. |
| /// |
| /// The IRegion interface basically contains two set of APIs: Region management |
| /// APIs and (potentially) distributed operations on entries. Non-distributed |
| /// operations on entries are provided by <c>RegionEntry</c>. |
| /// |
| /// Each <c>Cache</c> defines regions called the root regions. |
| /// User applications can use the root regions to create subregions |
| /// for isolated name spaces and object grouping. |
| /// |
| /// A region's name can be any string, except that it must not contain |
| /// the region name separator, a forward slash (/). |
| /// |
| /// <c>Regions</c> can be referenced by a relative path name from any region |
| /// higher in the hierarchy in <see cref="IRegion.GetSubRegion" />. You can get the relative |
| /// path from the root region with <see cref="IRegion.FullPath" />. The name separator |
| /// is used to concatenate all the region names together from the root, starting |
| /// with the root's subregions. |
| /// </remarks> |
| /// <see cref="RegionAttributes" /> |
| |
| generic<class TKey, class TValue> |
| public interface class IRegion : public System::Collections::Generic::IDictionary<TKey, TValue> |
| { |
| public: |
| |
| /// <summary> |
| /// Gets or sets the element with the specified key. |
| /// </summary> |
| /// <remarks> |
| /// This property provides the ability to access a specific element in the collection |
| /// by using the following syntax: myCollection[key]. |
| /// You can also use the Item property to add new elements by setting the value of a key |
| /// that does not exist in the dictionary; for example, myCollection["myNonexistentKey"] = myValue |
| /// However, if the specified key already exists in the dictionary, |
| /// setting the Item property overwrites the old value. In contrast, |
| /// the Add method does not modify existing elements. |
| /// This property is applicable to local as well as distributed region. |
| /// For local region instance - Puts/Gets a new value into an entry in this region in the local cache only. |
| /// For distributed region instance - Puts/Gets a new value into an entry in this region |
| /// and this operation is propogated to the Geode cache server to which it is connected. |
| /// </remarks> |
| /// <param name="key"> |
| /// The key of the element to get or set. |
| /// </param> |
| /// <param name ="Property Value"> |
| /// The element with the specified key. |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// if key is null |
| /// </exception> |
| /// <exception cref="KeyNotFoundException"> |
| /// If given key was not present in the region and if region is not in secure mode, or if Pool |
| /// attached with Region is not in multiusersecure mode. |
| /// </exception> |
| /// <exception cref="EntryNotFoundException"> |
| /// if given key's value is null. |
| /// </exception> |
| /// <exception cref="CacheWriterException"> |
| /// if CacheWriter aborts the operation |
| /// </exception> |
| /// <exception cref="CacheListenerException"> |
| /// if CacheListener throws an exception |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if region has been destroyed |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="OutOfMemoryException"> |
| /// if there is not enough memory for the value |
| /// </exception> |
| /// <exception cref="CacheLoaderException"> |
| /// if CacheLoader throws an exception |
| /// </exception> |
| /// <exception cref="MessageException"> |
| /// If the message received from server could not be handled. This will |
| /// be the case when an unregistered typeId is received in the reply or |
| /// reply is not well formed. More information can be found in the log. |
| /// </exception> |
| virtual property TValue default[TKey] |
| { |
| TValue get(TKey key); |
| void set(TKey key, TValue value); |
| } |
| |
| /// <summary> |
| /// Returns an enumerator that iterates through the collection of the region entries. |
| /// This operation is performed entirely in local cache. |
| /// </summary> |
| /// <remarks> |
| /// The foreach statement of the C# language (for each in C++)hides the |
| /// complexity of the enumerators. Therefore, using foreach is recommended, |
| /// instead of directly manipulating the enumerator. |
| /// Enumerators can be used to read the data in the collection, |
| /// but they cannot be used to modify the underlying collection. |
| /// Initially, the enumerator is positioned before the first element in the collection. |
| /// At this position, Current is undefined. Therefore, you must call MoveNext to advance |
| /// the enumerator to the first element of the collection before reading the value of Current. |
| /// Current returns the same object until MoveNext is called. MoveNext sets Current to the next element. |
| /// If MoveNext passes the end of the collection, the enumerator is positioned after the last element |
| /// in the collection and MoveNext returns false. When the enumerator is at this position, subsequent |
| /// calls to MoveNext also return false. If the last call to MoveNext returned false, Current is |
| /// undefined. You cannot set Current to the first element of the collection again; you must create |
| /// a new enumerator instance instead. |
| /// The enumerator does not have exclusive access to the collection; therefore, enumerating through a |
| /// collection is intrinsically not a thread-safe procedure. To guarantee thread safety during |
| /// enumeration, you can lock the collection during the entire enumeration. To allow the collection |
| /// to be accessed by multiple threads for reading and writing, you must implement your own |
| /// synchronization. |
| /// Default implementations of collections in the System.Collections.Generic namespace are not |
| /// synchronized. |
| /// For both local & distributed region instances, this operation is restricted to local cache only. |
| /// </remarks> |
| /// <exception cref="InvalidOperationException"> |
| /// if enumerator is before or after the collection and Current method is called on it. |
| /// </exception> |
| /// <returns> |
| /// Type: System.Collections.Generic.IEnumerator<T>. A IEnumerator<T> that |
| /// can be used to iterate through the collection. |
| /// </returns> |
| virtual System::Collections::Generic::IEnumerator<KeyValuePair<TKey,TValue>>^ GetEnumerator(); |
| |
| /// <summary> |
| /// Returns an enumerator that iterates through the collection of the region entries. |
| /// This operation is performed entirely in local cache. |
| /// </summary> |
| /// <remarks> |
| /// The foreach statement of the C# language (for each in C++)hides the |
| /// complexity of the enumerators. Therefore, using foreach is recommended, |
| /// instead of directly manipulating the enumerator. |
| /// Enumerators can be used to read the data in the collection, |
| /// but they cannot be used to modify the underlying collection. |
| /// Initially, the enumerator is positioned before the first element in the collection. |
| /// At this position, Current is undefined. Therefore, you must call MoveNext to advance |
| /// the enumerator to the first element of the collection before reading the value of Current. |
| /// Current returns the same object until MoveNext is called. MoveNext sets Current to the next element. |
| /// If MoveNext passes the end of the collection, the enumerator is positioned after the last element |
| /// in the collection and MoveNext returns false. When the enumerator is at this position, subsequent |
| /// calls to MoveNext also return false. If the last call to MoveNext returned false, Current is |
| /// undefined. You cannot set Current to the first element of the collection again; you must create |
| /// a new enumerator instance instead. |
| /// The enumerator does not have exclusive access to the collection; therefore, enumerating through a |
| /// collection is intrinsically not a thread-safe procedure. To guarantee thread safety during |
| /// enumeration, you can lock the collection during the entire enumeration. To allow the collection |
| /// to be accessed by multiple threads for reading and writing, you must implement your own |
| /// synchronization. |
| /// For both local & distributed region instances, this operation is restricted to local cache only. |
| /// </remarks> |
| /// <exception cref="InvalidOperationException"> |
| /// if enumerator is before or after the collection and Current method is called on it. |
| /// </exception> |
| /// <returns> |
| /// Type: System.Collections.IEnumerator. An IEnumerator object that can be used to iterate |
| /// through the collection. |
| /// </returns> |
| virtual System::Collections::IEnumerator^ GetEnumeratorOld() = |
| System::Collections::IEnumerable::GetEnumerator; |
| |
| /// <summary> |
| /// Determines whether the IDictionary contains an element with the specified key. |
| /// </summary> |
| /// <remarks> |
| /// For local region instance - This only searches in the local cache. |
| /// For distributed region instance - checks to see if the key is present on the server. |
| /// </remarks> |
| /// <param name="key"> |
| /// The key to locate in the IDictionary. |
| /// </param> |
| /// <exception cref="ArgumentNullException"> |
| /// key is a null reference |
| /// </exception> |
| /// <returns> |
| /// true if the IDictionary contains an element with the key; otherwise, false. |
| /// </returns> |
| virtual bool ContainsKey(TKey key); |
| |
| /// <summary> |
| /// Adds an element with the provided key and value to the IDictionary. |
| /// </summary> |
| /// <remark> |
| /// You can also use the Item property to add new elements by setting the value of a key |
| /// that does not exist in the dictionary; for example, myCollection["myNonexistentKey"] = myValue |
| /// However, if the specified key already exists in the dictionary, setting the Item property |
| /// overwrites the old value. In contrast, the Add method does not modify existing elements. |
| /// </remark> |
| /// <remarks> |
| /// <para> |
| /// If remote server put fails throwing back a <c>CacheServerException</c> |
| /// or security exception, then local put is tried to rollback. However, |
| /// if the entry has overflowed/evicted/expired then the rollback is |
| /// aborted since it may be due to a more recent notification or update |
| /// by another thread. |
| /// </para> |
| /// <para> |
| /// For local region instance - creates a new entry in this region with the specified keyvaluepair |
| /// in the local cache only. |
| /// For distributed region instance - The new entry is propogated to the java server to which it is |
| /// connected with. |
| /// </para> |
| /// </remarks> |
| /// <param name="key"> |
| /// The object to use as the key of the element to add. |
| /// </param> |
| /// <param name="value"> |
| /// The object to use as the value of the element to add. |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// if key is null |
| /// </exception> |
| /// <exception cref="EntryExistsException"> |
| /// if an entry with this key already exists |
| /// </exception> |
| /// <exception cref="CacheWriterException"> |
| /// if CacheWriter aborts the operation |
| /// </exception> |
| /// <exception cref="CacheListenerException"> |
| /// if CacheListener throws an exception |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to a Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if region has been destroyed |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="OutOfMemoryException"> |
| /// if there is not enough memory for the new entry |
| /// </exception> |
| virtual void Add(TKey key, TValue value); |
| |
| /// <summary> |
| /// Adds an item to the ICollection<T>. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// If remote server put fails throwing back a <c>CacheServerException</c> |
| /// or security exception, then local put is tried to rollback. However, |
| /// if the entry has overflowed/evicted/expired then the rollback is |
| /// aborted since it may be due to a more recent notification or update |
| /// by another thread. |
| /// </para> |
| /// <para> |
| /// For local region instance - creates a new entry in this region with the specified keyvaluepair |
| /// in the local cache only. |
| /// For distributed region instance - The new entry is propogated to the java server to which it is |
| /// connected with. |
| /// </para> |
| /// </remarks> |
| /// <param name="keyValuePair"> |
| /// Type: KeyValuePair<TKey, TValue> The object to add to the ICollection<T>. |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// if key is null |
| /// </exception> |
| /// <exception cref="EntryExistsException"> |
| /// if an entry with this key already exists |
| /// </exception> |
| /// <exception cref="CacheWriterException"> |
| /// if CacheWriter aborts the operation |
| /// </exception> |
| /// <exception cref="CacheListenerException"> |
| /// if CacheListener throws an exception |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to a Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if region has been destroyed |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="OutOfMemoryException"> |
| /// if there is not enough memory for the new entry |
| /// </exception> |
| virtual void Add(KeyValuePair<TKey, TValue> keyValuePair); |
| |
| /// <summary> |
| /// Creates a new entry in this region with the specified key and value, |
| /// passing the callback argument to any cache writers and cache listeners |
| /// that are invoked in the operation. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// Updates the <see cref="CacheStatistics.LastAccessedTime" /> and |
| /// <see cref="CacheStatistics.LastModifiedTime" /> for this region |
| /// and the entry. |
| /// </para> |
| /// <para> |
| /// For local region instance - creates a new entry in this region with the specified key and value |
| /// in the local cache only. |
| /// For distributed region instance - The new entry is propogated to the java server to which it is |
| /// connected with. |
| /// </para><para> |
| /// If remote server put fails throwing back a <c>CacheServerException</c> |
| /// or security exception, then local put is tried to rollback. However, |
| /// if the entry has overflowed/evicted/expired then the rollback is |
| /// aborted since it may be due to a more recent notification or update |
| /// by another thread. |
| /// </para> |
| /// </remarks> |
| /// <param name="key"> |
| /// The key for which to create the entry in this region. The object is |
| /// created before the call, and the caller should not deallocate the object. |
| /// </param> |
| /// <param name="value"> |
| /// The value for the new entry, which may be null to indicate that the new |
| /// entry starts as if it had been locally invalidated. |
| /// </param> |
| /// <param name="callbackArg"> |
| /// a custome parameter to pass to the cache writer or cache listener |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// if key is null |
| /// </exception> |
| /// <exception cref="EntryExistsException"> |
| /// if an entry with this key already exists |
| /// </exception> |
| /// <exception cref="CacheWriterException"> |
| /// if CacheWriter aborts the operation |
| /// </exception> |
| /// <exception cref="CacheListenerException"> |
| /// if CacheListener throws an exception |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to a Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if region has been destroyed |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="OutOfMemoryException"> |
| /// if there is not enough memory for the new entry |
| /// </exception> |
| /// <seealso cref="Put" /> |
| /// <seealso cref="Get" /> |
| void Add(TKey key, TValue value, Object^ callbackArg); |
| |
| /// <summary> |
| /// Removes the element with the specified key from the IDictionary. |
| /// </summary> |
| /// <remarks> |
| /// For local region instance - removes the entry with the specified key from the local cache only. |
| /// For distributed region instance - remove is propogated to the Geode cache server. |
| /// </remarks> |
| /// <param name="key"> |
| /// The key of the element to remove. |
| /// </param> |
| /// <exception cref="IllegalArgumentException">if key is null</exception> |
| /// <exception cref="EntryNotFoundException"> |
| /// if the entry does not exist in this region locally, applicable only for local region instance. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if this region has been destroyed |
| /// </exception> |
| /// <returns> |
| /// true if the element is successfully removed; otherwise, false. |
| /// This method also returns false if key was not found in the original IDictionary. |
| /// </returns> |
| virtual bool Remove(TKey key); |
| |
| /// <summary> |
| /// Removes the entry with the specified key, passing the callback |
| /// argument to any cache writers that are invoked in the operation. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// Removes not only the value, but also the key and entry |
| /// from this region. |
| /// </para> |
| /// <para> |
| /// For local region instance - removes the value with the specified key in the local cache only. |
| /// For distributed region instance - destroy is propogated to the Geode cache server |
| /// to which it is connected. |
| /// </para> |
| /// <para> |
| /// Does not update any <c>CacheStatistics</c>. |
| /// </para> |
| /// </remarks> |
| /// <param name="key">the key of the entry to destroy</param> |
| /// <param name="callbackArg"> |
| /// a user-defined parameter to pass to cache writers triggered by this method |
| /// </param> |
| /// <exception cref="IllegalArgumentException">if key is null</exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if this region has been destroyed |
| /// </exception> |
| /// <seealso cref="Invalidate" /> |
| /// <seealso cref="ICacheListener.AfterDestroy" /> |
| /// <seealso cref="ICacheWriter.BeforeDestroy" /> |
| /// <returns> |
| /// true if the element is successfully removed; otherwise, false. |
| /// This method also returns false if key was not found in the original IDictionary. |
| /// </returns> |
| bool Remove( TKey key, Object^ callbackArg ); |
| |
| /// <summary> |
| /// Gets the value associated with the specified key. |
| /// </summary> |
| /// <remark> |
| /// This method combines the functionality of the ContainsKey method and the Item property. |
| /// If the key is not found, then the value parameter gets the appropriate default value for the value |
| /// type V; for example, zero (0) for integer types, false for Boolean types, and a null reference for |
| /// reference types. |
| /// For local region instance - returns the value with the specified key from the local cache only. |
| /// For distributed region instance - If the value is not present locally then it is requested from |
| /// the java server. If even that is unsuccessful then a local CacheLoader will be invoked |
| /// if there is one. |
| /// </remark> |
| /// <param name="key"> |
| /// The key whose value to get. |
| /// </param> |
| /// <param name="value">When this method returns, the value associated with the specified key, if the key is |
| /// found; otherwise, the default value for the type of the value parameter. |
| /// This parameter is passed uninitialized.</param> |
| /// <exception cref="IllegalArgumentException"> |
| /// if key is null |
| /// </exception> |
| /// <exception cref="CacheLoaderException"> |
| /// if CacheLoader throws an exception |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="MessageException"> |
| /// If the message received from server could not be handled. This will |
| /// be the case when an unregistered typeId is received in the reply or |
| /// reply is not well formed. More information can be found in the log. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if this region has been destroyed |
| /// </exception> |
| /// <returns> |
| /// true if the object that implements IDictionary contains an element with the specified key; otherwise, false. |
| /// </returns> |
| virtual bool TryGetValue(TKey key, TValue %value); |
| |
| /// <summary> |
| /// Determines whether the ICollection contains a specific value. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// For local region instance - returns the value with the specified key from the local cache only. |
| /// For distributed region instance - If the value is not present locally then it is requested from |
| /// the java server. If even that is unsuccessful then a local CacheLoader will be invoked |
| /// if there is one. |
| /// </para> |
| /// <para> |
| /// The comparison of the value of the key value pair depends on the Equals function of the TValue class. |
| /// If the Equals function is not overriden in the TValue class the behavior of this function is undefined. Hence, this |
| /// function won't work properly for the .NET types that uses the default implementation of the Equals method, for |
| /// e.g. arrays. |
| /// </para> |
| /// </remarks> |
| /// <param name="keyValuePair"> |
| /// The KeyValuePair structure to locate in the ICollection. |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// if key is null |
| /// </exception> |
| /// <exception cref="CacheLoaderException"> |
| /// if CacheLoader throws an exception |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="MessageException"> |
| /// If the message received from server could not be handled. This will |
| /// be the case when an unregistered typeId is received in the reply or |
| /// reply is not well formed. More information can be found in the log. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if this region has been destroyed |
| /// </exception> |
| /// <returns> |
| /// true if keyValuePair is found in the ICollection; otherwise, false. |
| /// </returns> |
| virtual bool Contains(KeyValuePair<TKey,TValue> keyValuePair); |
| |
| /// <summary> |
| /// Removes all items from the ICollection<T>. |
| /// remove all entries in the region. |
| /// </summary> |
| /// For local region instance - remove all entries in the local region. |
| /// For distributed region instance - remove all entries in the local region, |
| /// and propagate the operation to server. |
| virtual void Clear(); |
| |
| /// <summary> |
| /// remove all entries in the region. |
| /// For local region instance - remove all entries in the local region. |
| /// For distributed region instance - remove all entries in the local region, |
| /// and propagate the operation to server. |
| /// </summary> |
| /// <param name="callbackArg"> |
| /// argument that is passed to the callback functions |
| /// </param> |
| void Clear(Object^ callbackArg); |
| |
| /// <summary> |
| /// Copies the elements of the ICollection to an Array, starting at a particular Array index. |
| /// This operation copies entries from local region only. |
| /// </summary> |
| /// <param name="toArray"> |
| /// The one-dimensional Array that is the destination of the elements copied from ICollection. |
| /// The Array must have zero-based indexing. |
| /// </param> |
| /// <param name="startIdx"> |
| /// The zero-based index in array at which copying begins. |
| /// </param> |
| /// <exception cref="ArgumentNullException"> |
| /// if toArray is a null reference |
| /// </exception> |
| /// <exception cref="ArgumentOutOfRangeException"> |
| /// if startIdx is less than 0. |
| /// </exception> |
| /// <exception cref="ArgumentException"> |
| /// if toArray is multidimensional or The number of elements in the source ICollection is greater than |
| /// the available space from startIdx to the end of the destination array or startIdx is equal to |
| /// or greater than the length of array. |
| /// </exception> |
| virtual void CopyTo(array<KeyValuePair<TKey,TValue>>^ toArray, int startIdx); |
| |
| /// <summary> |
| /// Removes a key and value from the dictionary. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// Remove removes not only the value, but also the key and entry |
| /// from this region. |
| /// </para> |
| /// <para> |
| /// The Remove is propogated to the Geode cache server to which it is connected. |
| /// </para> |
| /// <para> |
| /// Does not update any <c>CacheStatistics</c>. |
| /// </para> |
| /// <para> |
| /// The comparison of the value of the key value pair depends on the Equals function of the TValue class. |
| /// If the Equals function is not overriden in the TValue class the behavior of this function is undefined. Hence, this |
| /// function won't work properly for the .NET types that uses the default implementation of the Equals method, for |
| /// e.g. arrays. |
| /// </para> |
| /// </remarks> |
| /// <param name="keyValuePair">The KeyValuePair structure representing |
| /// the key and value to remove from the Dictionary.</param> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if this region has been destroyed |
| /// </exception> |
| /// <returns>true if the key and value represented by keyValuePair is successfully found and removed; |
| /// otherwise, false. This method returns false if keyValuePair is not found in the ICollection.</returns> |
| /// <returns>true if entry with key and its value are removed otherwise false.</returns> |
| /// <seealso cref="Invalidate" /> |
| /// <seealso cref="ICacheListener.AfterDestroy" /> |
| /// <seealso cref="ICacheWriter.BeforeDestroy" /> |
| virtual bool Remove(KeyValuePair<TKey,TValue> keyValuePair); |
| |
| /// <summary> |
| /// Removes the entry with the specified key and value, passing the callback |
| /// argument to any cache writers that are invoked in the operation. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// Remove removes not only the value, but also the key and entry |
| /// from this region. |
| /// </para> |
| /// <para> |
| /// The Remove is propogated to the Geode cache server to which it is connected. |
| /// </para> |
| /// <para> |
| /// Does not update any <c>CacheStatistics</c>. |
| /// </para> |
| /// </remarks> |
| /// <param name="key">the key of the entry to Remove</param> |
| /// <param name="value">the value of the entry to Remove</param> |
| /// <param name="callbackArg"> the callback for user to pass in, It can also be null</param>. |
| /// <exception cref="IllegalArgumentException">if key is null</exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if this region has been destroyed |
| /// </exception> |
| /// <returns>true if entry with key and its value are removed otherwise false.</returns> |
| /// <seealso cref="Invalidate" /> |
| /// <seealso cref="ICacheListener.AfterDestroy" /> |
| /// <seealso cref="ICacheWriter.BeforeDestroy" /> |
| virtual bool Remove(TKey key, TValue value, Object^ callbackArg ); |
| |
| /// <summary> |
| /// Gets the number of elements contained in the ICollection<T>. |
| /// Get the size of region. For native client regions, this will give |
| /// the number of entries in the local cache and not on the servers. |
| /// </summary> |
| /// <returns>number of entries in the region</returns> |
| virtual property int Count |
| { |
| int get(); |
| } |
| |
| /// <summary> |
| /// This property throws NotImplementedException when called by |
| /// both local and distributed region instances. |
| /// </summary> |
| virtual property bool IsReadOnly |
| { |
| bool get(); |
| } |
| |
| /// <summary> |
| /// Gets an ICollection containing the keys of the IDictionary |
| /// Returns all the keys for this region. This includes |
| /// keys for which the entry is invalid. |
| /// For local region instance - gets collection of keys from local cache only. |
| /// For distributed region instance - gets collection of keys from the Geode cache server. |
| /// </summary> |
| /// <returns>collection of keys</returns> |
| /// <remark> |
| /// The order of the keys in the returned ICollection is unspecified, |
| /// but it is guaranteed to be the same order as the corresponding values in the ICollection |
| /// returned by the Values property. |
| /// </remark> |
| /// <exception cref="UnsupportedOperationException"> |
| /// if the member type is not <c>Client</c> |
| /// or region is not a Native Client region. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="MessageException"> |
| /// If the message received from server could not be handled. This will |
| /// be the case when an unregistered typeId is received in the reply or |
| /// reply is not well formed. More information can be found in the log. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if there is a timeout getting the keys |
| /// </exception> |
| virtual property System::Collections::Generic::ICollection<TKey>^ Keys |
| { |
| System::Collections::Generic::ICollection<TKey>^ get() ; |
| } |
| |
| /// <summary> |
| /// Gets an ICollection containing the values in the IDictionary. |
| /// Returns all values in the local process for this region. No value is included |
| /// for entries that are invalidated. |
| /// For both local & distributed region instances, this operation is always local only. |
| /// </summary> |
| /// <returns>collection of values</returns> |
| /// <remark> |
| /// The order of the values in the returned ICollection is unspecified, |
| /// but it is guaranteed to be the same order as the corresponding keys in the ICollection |
| /// returned by the Keys property. |
| /// </remark> |
| virtual property System::Collections::Generic::ICollection<TValue>^ Values |
| { |
| System::Collections::Generic::ICollection<TValue>^ get() ; |
| } |
| |
| /// <summary> |
| /// Puts a new value into an entry in this region with the specified key, |
| /// passing the callback argument to any cache writers and cache listeners |
| /// that are invoked in the operation. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// If there is already an entry associated with the specified key in |
| /// this region, the entry's previous value is overwritten. |
| /// The new put value is propogated to the java server to which it is connected. |
| /// Put is intended for very simple caching situations. In general |
| /// it is better to create a <c>ICacheLoader</c> object and allow the |
| /// cache to manage the creation and loading of objects. |
| /// For local region instance - Puts a new value into an entry in this region in the local cache only. |
| /// For distributed region instance - Puts a new value into an entry in this region |
| /// and this operation is propogated to the Geode cache server to which it is connected. |
| /// </para><para> |
| /// Updates the <see cref="CacheStatistics.LastAccessedTime" /> and |
| /// <see cref="CacheStatistics.LastModifiedTime" /> for this region and the entry. |
| /// </para><para> |
| /// If remote server put fails throwing back a <c>CacheServerException</c> |
| /// or security exception, then local put is tried to rollback. However, |
| /// if the entry has overflowed/evicted/expired then the rollback is |
| /// aborted since it may be due to a more recent notification or update |
| /// by another thread. |
| /// </para> |
| /// </remarks> |
| /// <param name="key"> |
| /// a key object associated with the value to be put into this region. |
| /// </param> |
| /// <param name="value">the value to be put into this region</param> |
| /// <param name="callbackArg"> |
| /// argument that is passed to the callback functions |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// if key is null |
| /// </exception> |
| /// <exception cref="CacheWriterException"> |
| /// if CacheWriter aborts the operation |
| /// </exception> |
| /// <exception cref="CacheListenerException"> |
| /// if CacheListener throws an exception |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if region has been destroyed |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="OutOfMemoryException"> |
| /// if there is not enough memory for the value |
| /// </exception> |
| /// <seealso cref="Get" /> |
| /// <seealso cref="Add" /> |
| void Put(TKey key, TValue value, Object^ callbackArg); |
| |
| /// <summary> |
| /// Puts a new value into an entry in this region with the specified key. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// If there is already an entry associated with the specified key in |
| /// this region, the entry's previous value is overwritten. |
| /// The new put value is propogated to the java server to which it is connected. |
| /// Put is intended for very simple caching situations. In general |
| /// it is better to create a <c>ICacheLoader</c> object and allow the |
| /// cache to manage the creation and loading of objects. |
| /// For local region instance - Puts a new value into an entry in this region in the local cache only. |
| /// For distributed region instance - Puts a new value into an entry in this region |
| /// and this operation is propogated to the Geode cache server to which it is connected. |
| /// </para><para> |
| /// Updates the <see cref="CacheStatistics.LastAccessedTime" /> and |
| /// <see cref="CacheStatistics.LastModifiedTime" /> for this region and the entry. |
| /// </para><para> |
| /// If remote server put fails throwing back a <c>CacheServerException</c> |
| /// or security exception, then local put is tried to rollback. However, |
| /// if the entry has overflowed/evicted/expired then the rollback is |
| /// aborted since it may be due to a more recent notification or update |
| /// by another thread. |
| /// </para> |
| /// </remarks> |
| /// <param name="key"> |
| /// a key object associated with the value to be put into this region |
| /// </param> |
| /// <param name="value">the value to be put into this region</param> |
| /// <exception cref="IllegalArgumentException"> |
| /// if key is null |
| /// </exception> |
| /// <exception cref="CacheWriterException"> |
| /// if CacheWriter aborts the operation |
| /// </exception> |
| /// <exception cref="CacheListenerException"> |
| /// if CacheListener throws an exception |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if region has been destroyed |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="OutOfMemoryException"> |
| /// if there is not enough memory for the value |
| /// </exception> |
| /// <seealso cref="Get" /> |
| /// <seealso cref="Add" /> |
| void Put(TKey key, TValue value); |
| |
| /// <summary> |
| /// Returns the value for the given key, passing the callback argument |
| /// to any cache loaders or that are invoked in the operation. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// For local region instance - returns the value with the specified key from the local cache only. |
| /// For distributed region instance - If the value is not present locally then it is requested from |
| /// the java server. If even that is unsuccessful then a local CacheLoader will be invoked |
| /// if there is one. |
| /// </para> |
| /// <para> |
| /// The value returned by get is not copied, so multi-threaded applications |
| /// should not modify the value directly, but should use the update methods. |
| /// </para><para> |
| /// Updates the <see cref="CacheStatistics.LastAccessedTime" /> |
| /// <see cref="CacheStatistics.HitCount" />, <see cref="CacheStatistics.MissCount" />, |
| /// and <see cref="CacheStatistics.LastModifiedTime" /> (if a new value is loaded) |
| /// for this region and the entry. |
| /// </para> |
| /// </remarks> |
| /// <param name="key"> |
| /// key whose associated value is to be returned -- the key |
| /// object must implement the Equals and GetHashCode methods. |
| /// </param> |
| /// <param name="callbackArg"> |
| /// An argument passed into the CacheLoader if loader is used. |
| /// Has to be Serializable (i.e. implement <c>ISerializable</c>); |
| /// can be null. |
| /// </param> |
| /// <returns> |
| /// value, or null if the value is not found and can't be loaded |
| /// </returns> |
| /// <exception cref="IllegalArgumentException"> |
| /// if key is null |
| /// </exception> |
| /// <exception cref="CacheLoaderException"> |
| /// if CacheLoader throws an exception |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="MessageException"> |
| /// If the message received from server could not be handled. This will |
| /// be the case when an unregistered typeId is received in the reply or |
| /// reply is not well formed. More information can be found in the log. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if this region has been destroyed |
| /// </exception> |
| /// <seealso cref="Put" /> |
| TValue Get(TKey key, Object^ callbackArg); |
| |
| /// <summary> |
| /// Returns the value for the given key, passing the callback argument |
| /// to any cache loaders or that are invoked in the operation. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// For local region instance - returns the value with the specified key from the local cache only. |
| /// For distributed region instance - If the value is not present locally then it is requested from |
| /// the java server. If even that is unsuccessful then a local CacheLoader will be invoked |
| /// if there is one. |
| /// </para> |
| /// <para> |
| /// The value returned by get is not copied, so multi-threaded applications |
| /// should not modify the value directly, but should use the update methods. |
| /// </para><para> |
| /// Updates the <see cref="CacheStatistics.LastAccessedTime" /> |
| /// <see cref="CacheStatistics.HitCount" />, <see cref="CacheStatistics.MissCount" />, |
| /// and <see cref="CacheStatistics.LastModifiedTime" /> (if a new value is loaded) |
| /// for this region and the entry. |
| /// </para> |
| /// </remarks> |
| /// <param name="key"> |
| /// key whose associated value is to be returned -- the key |
| /// object must implement the Equals and GetHashCode methods. |
| /// </param> |
| /// <returns> |
| /// value, or null if the value is not found and can't be loaded |
| /// </returns> |
| /// <exception cref="IllegalArgumentException"> |
| /// if key is null |
| /// </exception> |
| /// <exception cref="CacheLoaderException"> |
| /// if CacheLoader throws an exception |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="MessageException"> |
| /// If the message received from server could not be handled. This will |
| /// be the case when an unregistered typeId is received in the reply or |
| /// reply is not well formed. More information can be found in the log. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if this region has been destroyed |
| /// </exception> |
| /// <seealso cref="Put" /> |
| TValue Get(TKey key); |
| |
| /// <summary> |
| /// Invalidates this region. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// The invalidation will cascade to all the subregions and cached |
| /// entries. The region |
| /// and the entries in it will still exist. |
| /// For local region instance - invalidates this region without distributing to other caches. |
| /// For distributed region instance - Invalidates this region and this |
| /// operation is propogated to the Geode cache server to which it is connected. |
| /// </para> |
| /// <para> |
| /// To remove all the |
| /// entries and the region, use <see cref="DestroyRegion" />. |
| /// </para><para> |
| /// Does not update any <c>CacheStatistics</c>. |
| /// </para> |
| /// </remarks> |
| /// <exception cref="CacheListenerException"> |
| /// if CacheListener throws an exception; if this occurs some |
| /// subregions may have already been successfully invalidated |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if this region has been destroyed |
| /// </exception> |
| /// <seealso cref="DestroyRegion" /> |
| /// <seealso cref="ICacheListener.AfterRegionInvalidate" /> |
| void InvalidateRegion(); |
| |
| /// <summary> |
| /// Invalidates this region. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// The invalidation will cascade to all the subregions and cached |
| /// entries. The region |
| /// and the entries in it will still exist. |
| /// For local region instance - invalidates this region without distributing to other caches. |
| /// For distributed region instance - Invalidates this region and this |
| /// operation is propogated to the Geode cache server to which it is connected. |
| /// </para> |
| /// <para> |
| /// To remove all the |
| /// entries and the region, use <see cref="DestroyRegion" />. |
| /// </para><para> |
| /// Does not update any <c>CacheStatistics</c>. |
| /// </para> |
| /// </remarks> |
| /// <param name="callbackArg"> |
| /// user-defined parameter to pass to callback events triggered by this method |
| /// </param> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if this region has been destroyed |
| /// </exception> |
| /// <exception cref="CacheListenerException"> |
| /// if CacheListener throws an exception; if this occurs some |
| /// subregions may have already been successfully invalidated |
| /// </exception> |
| /// <seealso cref="DestroyRegion" /> |
| /// <seealso cref="ICacheListener.AfterRegionInvalidate" /> |
| void InvalidateRegion(Object^ callbackArg); |
| |
| /// <summary> |
| /// Destroys the whole distributed region and provides a user-defined parameter |
| /// object to any <c>ICacheWriter</c> invoked in the process. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// Destroy cascades to all entries and subregions. After the destroy, |
| /// this region object can not be used any more. Any attempt to use |
| /// this region object will get a <c>RegionDestroyedException</c> |
| /// The region destroy not only destroys the local region but also destroys the |
| /// server region. |
| /// For local region instance - destroys the whole local region only |
| /// For distributed region instance - destroys the whole local region and this |
| /// operation is also propogated to the Geode cache server to which it is connected. |
| /// </para><para> |
| /// Does not update any <c>CacheStatistics</c>. |
| /// </para> |
| /// </remarks> |
| /// <exception cref="CacheWriterException"> |
| /// if a CacheWriter aborts the operation; if this occurs some |
| /// subregions may have already been successfully destroyed. |
| /// </exception> |
| /// <exception cref="CacheListenerException"> |
| /// if CacheListener throws an exception; if this occurs some |
| /// subregions may have already been successfully invalidated |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <seealso cref="InvalidateRegion" /> |
| void DestroyRegion(); |
| |
| /// <summary> |
| /// Destroys the whole distributed region and provides a user-defined parameter |
| /// object to any <c>ICacheWriter</c> invoked in the process. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// Destroy cascades to all entries and subregions. After the destroy, |
| /// this region object can not be used any more. Any attempt to use |
| /// this region object will get a <c>RegionDestroyedException</c> |
| /// The region destroy not only destroys the local region but also destroys the |
| /// server region. |
| /// For local region instance - destroys the whole local region only |
| /// For distributed region instance - destroys the whole local region and this |
| /// operation is also propogated to the Geode cache server to which it is connected. |
| /// </para><para> |
| /// Does not update any <c>CacheStatistics</c>. |
| /// </para> |
| /// </remarks> |
| /// <param name="callbackArg"> |
| /// a user-defined parameter to pass to callback events triggered by this call |
| /// </param> |
| /// <exception cref="CacheWriterException"> |
| /// if a CacheWriter aborts the operation; if this occurs some |
| /// subregions may have already been successfully destroyed. |
| /// </exception> |
| /// <exception cref="CacheListenerException"> |
| /// if CacheListener throws an exception; if this occurs some |
| /// subregions may have already been successfully invalidated |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <seealso cref="InvalidateRegion" /> |
| void DestroyRegion(Object^ callbackArg); |
| |
| /// <summary> |
| /// Invalidates the entry with the specified key, |
| /// passing the callback argument |
| /// to any cache |
| /// listeners that are invoked in the operation. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// Invalidate only removes the value from the entry -- the key is kept intact. |
| /// To completely remove the entry, call <see cref="Destroy" />. |
| /// </para> |
| /// <para> |
| /// For both local & distributed region instaces, invalidate is not propogated to the |
| /// Geode cache server to which it is connected. |
| /// </para> |
| /// <para> |
| /// Does not update any <c>CacheStatistics</c>. |
| /// </para> |
| /// </remarks> |
| /// <param name="key">key of the value to be invalidated</param> |
| /// <exception cref="IllegalArgumentException">if key is null</exception> |
| /// <exception cref="EntryNotFoundException"> |
| /// if this entry does not exist in this region locally |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if the region is destroyed |
| /// </exception> |
| /// <seealso cref="Destroy" /> |
| /// <seealso cref="ICacheListener.AfterInvalidate" /> |
| void Invalidate(TKey key); |
| |
| /// <summary> |
| /// Invalidates the entry with the specified key, |
| /// passing the callback argument |
| /// to any cache |
| /// listeners that are invoked in the operation. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// Invalidate only removes the value from the entry -- the key is kept intact. |
| /// To completely remove the entry, call <see cref="Destroy" />. |
| /// </para> |
| /// <para> |
| /// For both local & distributed region instaces, invalidate is not propogated to the |
| /// Geode cache server to which it is connected. |
| /// </para> |
| /// <para> |
| /// Does not update any <c>CacheStatistics</c>. |
| /// </para> |
| /// </remarks> |
| /// <param name="key">key of the value to be invalidated</param> |
| /// <param name="callbackArg"> |
| /// a user-defined parameter to pass to callback events triggered by this method |
| /// </param> |
| /// <exception cref="IllegalArgumentException">if key is null</exception> |
| /// <exception cref="EntryNotFoundException"> |
| /// if this entry does not exist in this region locally |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if the region is destroyed |
| /// </exception> |
| /// <seealso cref="Destroy" /> |
| /// <seealso cref="ICacheListener.AfterInvalidate" /> |
| void Invalidate(TKey key, Object^ callbackArg); |
| |
| /// <summary> |
| /// Puts a (IDictionary) generic collection of key/value pairs in this region. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// If there is already an entry associated with any key in the map in |
| /// this region, the entry's previous value is overwritten. |
| /// The new values are propogated to the java server to which it is connected. |
| /// PutAll is intended for speed up large amount of put operation into |
| /// the same region. |
| /// For local region instance - this method is not applicable. |
| /// </para> |
| /// </remarks> |
| /// <param name="map"> |
| /// A map contains entries, i.e. (key, value) pairs. It is generic collection of key/value pairs. |
| /// Value should not be null in any of the entries. |
| /// </param> |
| /// <exception cref="NullPointerException"> |
| /// if any value in the map is null |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if region has been destroyed |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="OutOfMemoryException"> |
| /// if there is not enough memory for the value |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <seealso cref="Put" /> |
| void PutAll(IDictionary<TKey, TValue>^ map); |
| |
| /// <summary> |
| /// Puts a (IDictionary) generic collection of key/value pairs in this region. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// If there is already an entry associated with any key in the map in |
| /// this region, the entry's previous value is overwritten. |
| /// The new values are propogated to the java server to which it is connected. |
| /// PutAll is intended for speed up large amount of put operation into |
| /// the same region. |
| /// For local region instance - this method is not applicable. |
| /// </para> |
| /// </remarks> |
| /// <param name="map"> |
| /// A map contains entries, i.e. (key, value) pairs. It is generic collection of key/value pairs. |
| /// Value should not be null in any of the entries. |
| /// </param> |
| /// <param name="timeout">The time (in seconds) to wait for the PutAll |
| /// response. It should be less than or equal to 2^31/1000 i.e. 2147483. |
| /// Optional. |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If timeout is more than 2^31/1000 i.e. 2147483. |
| /// </exception> |
| /// <exception cref="NullPointerException"> |
| /// if any value in the map is null |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if region has been destroyed |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="OutOfMemoryException"> |
| /// if there is not enough memory for the value |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <seealso cref="Put" /> |
| void PutAll(IDictionary<TKey, TValue>^ map, TimeSpan timeout); |
| |
| /// <summary> |
| /// Puts a (IDictionary) generic collection of key/value pairs in this region. |
| /// </summary> |
| /// <remarks> |
| /// <para> |
| /// If there is already an entry associated with any key in the map in |
| /// this region, the entry's previous value is overwritten. |
| /// The new values are propogated to the java server to which it is connected. |
| /// PutAll is intended for speed up large amount of put operation into |
| /// the same region. |
| /// For local region instance - this method is not applicable. |
| /// </para> |
| /// </remarks> |
| /// <param name="map"> |
| /// A map contains entries, i.e. (key, value) pairs. It is generic collection of key/value pairs. |
| /// Value should not be null in any of the entries. |
| /// </param> |
| /// <param name="timeout">The time (in seconds) to wait for the PutAll |
| /// response. It should be less than or equal to 2^31/1000 i.e. 2147483. |
| /// Optional. |
| /// </param> |
| /// <param name="callbackArg"> |
| /// a user-defined parameter to pass to callback events triggered by this method |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If timeout is more than 2^31/1000 i.e. 2147483. |
| /// </exception> |
| /// <exception cref="NullPointerException"> |
| /// if any value in the map is null |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// if region has been destroyed |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// Only for Native Client regions. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="OutOfMemoryException"> |
| /// if there is not enough memory for the value |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <seealso cref="Put" /> |
| void PutAll(IDictionary<TKey, TValue>^ map, TimeSpan timeout, Object^ callbackArg); |
| |
| /// <summary> |
| /// Removes all of the entries for the specified keys from this region. |
| /// The effect of this call is equivalent to that of calling {@link #destroy(Object)} on |
| /// this region once for each key in the specified collection. |
| /// If an entry does not exist that key is skipped; |
| /// EntryNotFoundException is not thrown. |
| /// For local region instance - this method is not applicable. |
| /// Updates the <see cref="CacheStatistics.LastAccessedTime" /> |
| /// and <see cref="CacheStatistics.HitCount" /> and |
| /// <see cref="CacheStatistics.MissCount" /> for this region and the entry. |
| /// </summary> |
| /// <param name="keys">the collection of keys</param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If the collection of keys is null or empty. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server while |
| /// processing the request. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if region is not connected to the cache because the client |
| /// cannot establish usable connections to any of the given servers |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// If region destroy is pending. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if operation timed out. |
| /// </exception> |
| /// <exception cref="UnknownException"> |
| /// For other exceptions. |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <seealso cref="Get"/> |
| void RemoveAll(System::Collections::Generic::ICollection<TKey>^ keys); |
| |
| /// <summary> |
| /// Removes all of the entries for the specified keys from this region. |
| /// The effect of this call is equivalent to that of calling {@link #remove(Object)} on |
| /// this region once for each key in the specified collection. |
| /// If an entry does not exist that key is skipped; |
| /// EntryNotFoundException is not thrown. |
| /// For local region instance - this method is not applicable. |
| /// Updates the <see cref="CacheStatistics.LastAccessedTime" /> |
| /// and <see cref="CacheStatistics.HitCount" /> and |
| /// <see cref="CacheStatistics.MissCount" /> for this region and the entry. |
| /// </summary> |
| /// <param name="keys">the collection of keys</param> |
| /// <param name="callbackArg">an argument that is passed to the callback functions. |
| /// Optional. |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If the collection of keys is null or empty. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server while |
| /// processing the request. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if region is not connected to the cache because the client |
| /// cannot establish usable connections to any of the given servers |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// If region destroy is pending. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if operation timed out. |
| /// </exception> |
| /// <exception cref="UnknownException"> |
| /// For other exceptions. |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <seealso cref="Remove"/> |
| void RemoveAll(System::Collections::Generic::ICollection<TKey>^ keys, Object^ callbackArg); |
| |
| /// <summary> |
| /// Gets values for collection of keys from the local cache or server. |
| /// If value for a key is not present locally then it is requested from the |
| /// java server. The value returned is not copied, so multi-threaded |
| /// applications should not modify the value directly, |
| /// but should use the update methods. |
| /// For local region instance - this method is not applicable. |
| /// Updates the <see cref="CacheStatistics.LastAccessedTime" /> |
| /// and <see cref="CacheStatistics.HitCount" /> and |
| /// <see cref="CacheStatistics.MissCount" /> for this region and the entry. |
| /// </summary> |
| /// <param name="keys">the collection of keys</param> |
| /// <param name="values"> |
| /// output parameter that provides the map of keys to |
| /// respective values; when this is NULL then an |
| /// <c>IllegalArgumentException</c> is thrown. |
| /// </param> |
| /// <param name="exceptions"> |
| /// output parameter that provides the map of keys |
| /// to any exceptions while obtaining the key; ignored if this is NULL |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If the collection of keys is null or empty, |
| /// or <c>values</c> argument is null. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server while |
| /// processing the request. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if region is not connected to the cache because the client |
| /// cannot establish usable connections to any of the given servers |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// If region destroy is pending. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if operation timed out. |
| /// </exception> |
| /// <exception cref="UnknownException"> |
| /// For other exceptions. |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <seealso cref="Get"/> |
| void GetAll(System::Collections::Generic::ICollection<TKey>^ keys, |
| System::Collections::Generic::IDictionary<TKey, TValue>^ values, |
| System::Collections::Generic::IDictionary<TKey, System::Exception^>^ exceptions); |
| |
| /// <summary> |
| /// Gets values for collection of keys from the local cache or server. |
| /// If value for a key is not present locally then it is requested from the |
| /// java server. The value returned is not copied, so multi-threaded |
| /// applications should not modify the value directly, |
| /// but should use the update methods. |
| /// For local region instance - this method is not applicable. |
| /// Updates the <see cref="CacheStatistics.LastAccessedTime" /> |
| /// and <see cref="CacheStatistics.HitCount" /> and |
| /// <see cref="CacheStatistics.MissCount" /> for this region and the entry. |
| /// </summary> |
| /// <param name="keys">the collection of keys</param> |
| /// <param name="values"> |
| /// output parameter that provides the map of keys to |
| /// respective values; ignored if NULL; when this is NULL then at least |
| /// the <c>addToLocalCache</c> parameter should be true and caching |
| /// should be enabled for the region to get values into the region |
| /// otherwise an <c>IllegalArgumentException</c> is thrown. |
| /// </param> |
| /// <param name="exceptions"> |
| /// output parameter that provides the map of keys |
| /// to any exceptions while obtaining the key; ignored if this is NULL |
| /// </param> |
| /// <param name="addToLocalCache"> |
| /// true if the obtained values have also to be added to the local cache |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If the collection of keys is null or empty. Other invalid case is when |
| /// the <c>values</c> parameter is NULL, and either |
| /// <c>addToLocalCache</c> is false or caching is disabled |
| /// for this region. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server while |
| /// processing the request. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if region is not connected to the cache because the client |
| /// cannot establish usable connections to any of the given servers |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// If region destroy is pending. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if operation timed out. |
| /// </exception> |
| /// <exception cref="UnknownException"> |
| /// For other exceptions. |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <seealso cref="Get"/> |
| void GetAll(System::Collections::Generic::ICollection<TKey>^ keys, |
| System::Collections::Generic::IDictionary<TKey, TValue>^ values, |
| System::Collections::Generic::IDictionary<TKey, System::Exception^>^ exceptions, |
| bool addToLocalCache); |
| |
| /// <summary> |
| /// Gets values for collection of keys from the local cache or server. |
| /// If value for a key is not present locally then it is requested from the |
| /// java server. The value returned is not copied, so multi-threaded |
| /// applications should not modify the value directly, |
| /// but should use the update methods. |
| /// For local region instance - this method is not applicable. |
| /// Updates the <see cref="CacheStatistics.LastAccessedTime" /> |
| /// and <see cref="CacheStatistics.HitCount" /> and |
| /// <see cref="CacheStatistics.MissCount" /> for this region and the entry. |
| /// </summary> |
| /// <param name="keys">the collection of keys</param> |
| /// <param name="values"> |
| /// output parameter that provides the map of keys to |
| /// respective values; ignored if NULL; when this is NULL then at least |
| /// the <c>addToLocalCache</c> parameter should be true and caching |
| /// should be enabled for the region to get values into the region |
| /// otherwise an <c>IllegalArgumentException</c> is thrown. |
| /// </param> |
| /// <param name="exceptions"> |
| /// output parameter that provides the map of keys |
| /// to any exceptions while obtaining the key; ignored if this is NULL |
| /// </param> |
| /// <param name="addToLocalCache"> |
| /// true if the obtained values have also to be added to the local cache |
| /// </param> |
| /// <param name="callbackArg"> |
| /// a user-defined parameter to pass to callback events triggered by this method |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If the collection of keys is null or empty. Other invalid case is when |
| /// the <c>values</c> parameter is NULL, and either |
| /// <c>addToLocalCache</c> is false or caching is disabled |
| /// for this region. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server while |
| /// processing the request. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if region is not connected to the cache because the client |
| /// cannot establish usable connections to any of the given servers |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// If region destroy is pending. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if operation timed out. |
| /// </exception> |
| /// <exception cref="UnknownException"> |
| /// For other exceptions. |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <seealso cref="Get"/> |
| void GetAll(System::Collections::Generic::ICollection<TKey>^ keys, |
| System::Collections::Generic::IDictionary<TKey, TValue>^ values, |
| System::Collections::Generic::IDictionary<TKey, System::Exception^>^ exceptions, |
| bool addToLocalCache, Object^ callbackArg); |
| |
| /// <summary> |
| /// Gets the region name. |
| /// </summary> |
| /// <returns> |
| /// region's name |
| /// </returns> |
| property String^ Name |
| { |
| String^ get(); |
| } |
| |
| /// <summary> |
| /// Gets the region's full path, which can be used to get this region object |
| /// with <see cref="Cache.GetRegion" />. |
| /// </summary> |
| /// <returns> |
| /// region's pathname |
| /// </returns> |
| property String^ FullPath |
| { |
| String^ get(); |
| } |
| |
| /// <summary> |
| /// Gets the parent region. |
| /// </summary> |
| /// <returns> |
| /// region's parent, if any, or null if this is a root region |
| /// </returns> |
| /// <exception cref="RegionDestroyedException"> |
| /// if the region has been destroyed |
| /// </exception> |
| property IRegion<TKey, TValue>^ ParentRegion |
| { |
| IRegion<TKey, TValue>^ get(); |
| } |
| |
| /// <summary> |
| /// Returns the attributes for this region, which can be used to create a new |
| /// region with <see cref="Cache.CreateRegion" />. |
| /// </summary> |
| /// <returns> |
| /// region's attributes |
| /// </returns> |
| property RegionAttributes<TKey, TValue>^ Attributes |
| { |
| RegionAttributes<TKey, TValue>^ get(); |
| } |
| |
| /// <summary> |
| /// Return a mutator object for changing a subset of the |
| /// region attributes. |
| /// </summary> |
| /// <returns> |
| /// attribute mutator |
| /// </returns> |
| /// <exception cref="RegionDestroyedException"> |
| /// if the region has been destroyed |
| /// </exception> |
| property AttributesMutator<TKey, TValue>^ AttributesMutator |
| { |
| Apache::Geode::Client::AttributesMutator<TKey, TValue>^ get(); |
| } |
| |
| /// <summary> |
| /// Returns the statistics for this region. |
| /// </summary> |
| /// <returns>the <c>CacheStatistics</c> for this region</returns> |
| /// <exception cref="StatisticsDisabledException"> |
| /// if statistics have been disabled for this region |
| /// </exception> |
| property CacheStatistics^ Statistics |
| { |
| CacheStatistics^ get(); |
| } |
| |
| /// <summary> |
| /// Returns the subregion identified by the path, null if no such subregion. |
| /// </summary> |
| /// <param name="path">path</param> |
| /// <returns>subregion, or null if none</returns> |
| /// <seealso cref="FullPath" /> |
| /// <seealso cref="SubRegions" /> |
| /// <seealso cref="ParentRegion" /> |
| IRegion<TKey, TValue>^ GetSubRegion( String^ path ); |
| |
| /// <summary> |
| /// Creates a subregion with the given name and attributes. |
| /// </summary> |
| /// <param name="subRegionName">new subregion name</param> |
| /// <param name="attributes">subregion attributes</param> |
| /// <returns>new subregion</returns> |
| /// <seealso cref="CreateServerSubRegion" /> |
| IRegion<TKey, TValue>^ CreateSubRegion( String^ subRegionName, RegionAttributes<TKey, TValue>^ attributes ); |
| |
| /// <summary> |
| /// Returns the subregions of this region. |
| /// </summary> |
| /// <param name="recursive">if true, also return all nested subregions</param> |
| /// <returns>collection of regions</returns> |
| /// <exception cref="RegionDestroyedException"> |
| /// this region has already been destroyed |
| /// </exception> |
| System::Collections::Generic::ICollection<IRegion<TKey, TValue>^>^ SubRegions( bool recursive ); |
| |
| /// <summary> |
| /// Return the meta-object RegionEntry for the given key. |
| /// For both local & distributed region instances, this operation happens in local cache only. |
| /// </summary> |
| /// <param name="key">key to use</param> |
| /// <returns>region entry object</returns> |
| /// <exception cref="IllegalArgumentException">key is null</exception> |
| /// <exception cref="RegionDestroyedException"> |
| /// region has been destroyed |
| /// </exception> |
| Client::RegionEntry<TKey, TValue>^ GetEntry( TKey key ); |
| |
| /// <summary> |
| /// Gets the entries in this region. |
| /// For both local & distributed region instances, this operation happens in local cache only. |
| /// </summary> |
| /// <param name="recursive"> |
| /// if true, also return all nested subregion entries |
| /// </param> |
| /// <returns>collection of entries</returns> |
| System::Collections::Generic::ICollection<Client::RegionEntry<TKey, TValue>^>^ GetEntries(bool recursive); |
| |
| /// <summary> |
| /// Gets the RegionService for this region. |
| /// </summary> |
| /// <returns>RegionService</returns> |
| property Apache::Geode::Client::IRegionService^ RegionService |
| { |
| Apache::Geode::Client::IRegionService^ get( ); |
| } |
| |
| /// <summary> |
| /// True if the region contains a value for the given key. |
| /// This only searches in the local cache. |
| /// </summary> |
| /// <remark> |
| /// For both local & distributed region instances this always searches only in local cache. |
| /// </remark> |
| /// <param name="key">key to search for</param> |
| /// <returns>true if value is not null</returns> |
| bool ContainsValueForKey( TKey key ); |
| |
| /// <summary> |
| /// True if this region has been destroyed. |
| /// </summary> |
| /// <returns>true if destroyed</returns> |
| property bool IsDestroyed |
| { |
| bool get(); |
| } |
| |
| /// <summary> |
| /// Reteuns an instance of a Region<TKey, TValue> class that implements |
| /// ISubscriptionService interface |
| /// This method is applicable only on distributed region & not on local region. |
| /// </summary> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| ISubscriptionService<TKey>^ GetSubscriptionService(); |
| |
| /// <summary> |
| /// Reteuns an instance of a Region<TKey, TValue> class that executes within |
| /// a local scope of a process. |
| /// This method is applicable only on distributed region & not on local region. |
| /// </summary> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| IRegion<TKey, TValue>^ GetLocalView(); |
| |
| /// <summary> |
| /// Executes the query on the server based on the predicate. |
| /// Valid only for a Native Client region. |
| /// This method is applicable only on distributed region & not on local region. |
| /// </summary> |
| /// <param name="predicate">The query predicate (just the WHERE clause) or the entire query to execute</param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If the predicate is empty. |
| /// </exception> |
| /// <exception cref="IllegalStateException"> |
| /// If some error occurred. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="MessageException"> |
| /// If the message received from server could not be handled. This will |
| /// be the case when an unregistered typeId is received in the reply or |
| /// reply is not well formed. More information can be found in the log. |
| /// </exception> |
| /// <exception cref="QueryException"> |
| /// If some query error occurred at the server. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="CacheClosedException"> |
| /// if the cache has been closed |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <returns> |
| /// The SelectResults which can either be a ResultSet or a StructSet. |
| /// </returns> |
| generic<class TResult> |
| ISelectResults<TResult>^ Query( String^ predicate ); |
| |
| /// <summary> |
| /// Executes the query on the server based on the predicate. |
| /// Valid only for a Native Client region. |
| /// This method is applicable only on distributed region & not on local region. |
| /// </summary> |
| /// <param name="predicate">The query predicate (just the WHERE clause) or the entire query to execute</param> |
| /// <param name="timeout">The time (in seconds) to wait for the query response, optional</param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If the predicate is empty. |
| /// </exception> |
| /// <exception cref="IllegalStateException"> |
| /// If some error occurred. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="MessageException"> |
| /// If the message received from server could not be handled. This will |
| /// be the case when an unregistered typeId is received in the reply or |
| /// reply is not well formed. More information can be found in the log. |
| /// </exception> |
| /// <exception cref="QueryException"> |
| /// If some query error occurred at the server. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="CacheClosedException"> |
| /// if the cache has been closed |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <returns> |
| /// The SelectResults which can either be a ResultSet or a StructSet. |
| /// </returns> |
| generic<class TResult> |
| ISelectResults<TResult>^ Query( String^ predicate, TimeSpan timeout ); |
| |
| /// <summary> |
| /// Executes the query on the server based on the predicate |
| /// and returns whether any result exists. |
| /// Valid only for a Native Client region. |
| /// This method is applicable only on distributed region & not on local region. |
| /// </summary> |
| /// <param name="predicate"> |
| /// The query predicate (just the WHERE clause) |
| /// or the entire query to execute |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If the predicate is empty. |
| /// </exception> |
| /// <exception cref="IllegalStateException"> |
| /// If some error occurred. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="MessageException"> |
| /// If the message received from server could not be handled. This will |
| /// be the case when an unregistered typeId is received in the reply or |
| /// reply is not well formed. More information can be found in the log. |
| /// </exception> |
| /// <exception cref="QueryException"> |
| /// If some query error occurred at the server. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="CacheClosedException"> |
| /// if the cache has been closed |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <returns> |
| /// true if the result size is non-zero, false otherwise. |
| /// </returns> |
| bool ExistsValue( String^ predicate ); |
| |
| /// <summary> |
| /// Executes the query on the server based on the predicate |
| /// and returns whether any result exists. |
| /// Valid only for a Native Client region. |
| /// This method is applicable only on distributed region & not on local region. |
| /// </summary> |
| /// <param name="predicate"> |
| /// The query predicate (just the WHERE clause) |
| /// or the entire query to execute |
| /// </param> |
| /// <param name="timeout"> |
| /// The time (in seconds) to wait for the query response |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If the predicate is empty. |
| /// </exception> |
| /// <exception cref="IllegalStateException"> |
| /// If some error occurred. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="MessageException"> |
| /// If the message received from server could not be handled. This will |
| /// be the case when an unregistered typeId is received in the reply or |
| /// reply is not well formed. More information can be found in the log. |
| /// </exception> |
| /// <exception cref="QueryException"> |
| /// If some query error occurred at the server. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="CacheClosedException"> |
| /// if the cache has been closed |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <returns> |
| /// true if the result size is non-zero, false otherwise. |
| /// </returns> |
| bool ExistsValue( String^ predicate, TimeSpan timeout ); |
| |
| /// <summary> |
| /// Executes the query on the server based on the predicate |
| /// and returns a single result value. |
| /// Valid only for a Native Client region. |
| /// This method is applicable only on distributed region & not on local region. |
| /// </summary> |
| /// <param name="predicate"> |
| /// The query predicate (just the WHERE clause) |
| /// or the entire query to execute |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If the predicate is empty. |
| /// </exception> |
| /// <exception cref="IllegalStateException"> |
| /// If some error occurred. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="MessageException"> |
| /// If the message received from server could not be handled. This will |
| /// be the case when an unregistered typeId is received in the reply or |
| /// reply is not well formed. More information can be found in the log. |
| /// </exception> |
| /// <exception cref="QueryException"> |
| /// If some query error occurred at the server, |
| /// or more than one result items are available. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="CacheClosedException"> |
| /// if the cache has been closed |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <returns> |
| /// The single ResultSet or StructSet item, |
| /// or NULL of no results are available. |
| /// </returns> |
| Object^ SelectValue( String^ predicate ); |
| |
| /// <summary> |
| /// Executes the query on the server based on the predicate |
| /// and returns a single result value. |
| /// Valid only for a Native Client region. |
| /// This method is applicable only on distributed region & not on local region. |
| /// </summary> |
| /// <param name="predicate"> |
| /// The query predicate (just the WHERE clause) |
| /// or the entire query to execute |
| /// </param> |
| /// <param name="timeout"> |
| /// The time (in seconds) to wait for the query response |
| /// </param> |
| /// <exception cref="IllegalArgumentException"> |
| /// If the predicate is empty. |
| /// </exception> |
| /// <exception cref="IllegalStateException"> |
| /// If some error occurred. |
| /// </exception> |
| /// <exception cref="CacheServerException"> |
| /// If an exception is received from the Java cache server. |
| /// </exception> |
| /// <exception cref="NotConnectedException"> |
| /// if not connected to the Geode system because the client cannot |
| /// establish usable connections to any of the servers given to it. |
| /// For pools configured with locators, if no locators are available, innerException |
| /// of NotConnectedException is set to NoAvailableLocatorsException. |
| /// </exception> |
| /// <exception cref="MessageException"> |
| /// If the message received from server could not be handled. This will |
| /// be the case when an unregistered typeId is received in the reply or |
| /// reply is not well formed. More information can be found in the log. |
| /// </exception> |
| /// <exception cref="QueryException"> |
| /// If some query error occurred at the server, |
| /// or more than one result items are available. |
| /// </exception> |
| /// <exception cref="TimeoutException"> |
| /// if the operation timed out |
| /// </exception> |
| /// <exception cref="CacheClosedException"> |
| /// if the cache has been closed |
| /// </exception> |
| /// <exception cref="NotSupportedException"> |
| /// if it is called by local region instance <see cref="Region.GetLocalView" /> |
| /// </exception> |
| /// <returns> |
| /// The single ResultSet or StructSet item, |
| /// or NULL of no results are available. |
| /// </returns> |
| Object^ SelectValue( String^ predicate, TimeSpan timeout ); |
| |
| }; |
| } // namespace Client |
| } // namespace Geode |
| } // namespace Apache |