gemfire::Region Class Reference

Inherits gemfire::SharedBase.


Detailed Description

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 Region interface basically contains two set of APIs: Region management APIs and (potentially) distributed operations on entries. Non-distributed operations on entries are provided by RegionEntry.

Each Cache defines regions called the root regions. User applications can use the root regions to create subregions for isolated name space and object grouping.

A region's name can be any String, except that it should not contain the region name separator, a forward slash (/).

Regions can be referenced by a relative path name from any region higher in the hierarchy in Region::getSubregion. You can get the relative path from the root region with Region::getFullPath. The name separator is used to concatenate all the region names together from the root, starting with the root's subregions.

See also:
RegionAttributes

Public Member Functions

virtual void clear (const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Removes all entries from this region and provides a user-defined parameter object to any CacheWriter or CacheListener invoked in the process.
template<class KEYTYPE>
bool containsKey (const KEYTYPE &key) const
 Convenience method allowing key to be a const char* This operations checks for the key in the local cache .
virtual bool containsKey (const CacheableKeyPtr &keyPtr) const =0
 Only the client's cache is searched for the key.
virtual bool containsKeyOnServer (const CacheableKeyPtr &keyPtr) const =0
 The cache of the server, to which it is connected with, is searched for the key to see if the key is present.
template<class KEYTYPE>
bool containsValueForKey (const KEYTYPE &key) const
 Convenience method allowing key to be a const char* This operations checks for the value in the local cache .
virtual bool containsValueForKey (const CacheableKeyPtr &keyPtr) const =0
 This operations checks for the value in the local cache .
template<class VALUETYPE>
void create (const CacheableKeyPtr &key, const VALUETYPE &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing value to be a const char*.
template<class KEYTYPE>
void create (const KEYTYPE &key, const CacheablePtr &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
template<class KEYTYPE, class VALUETYPE>
void create (const KEYTYPE &key, const VALUETYPE &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing both key and value to be a const char*.
virtual void create (const CacheableKeyPtr &key, const CacheablePtr &value, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Creates a new entry in this region with the specified key and value, providing a user-defined parameter object to any CacheWriter invoked in the process.
virtual RegionPtr createSubregion (const char *subregionName, const RegionAttributesPtr &aRegionAttributes)=0
 Creates a subregion with the specified attributes.
template<class KEYTYPE>
void destroy (const KEYTYPE &key, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
virtual void destroy (const CacheableKeyPtr &key, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Destroys the entry with the specified key, and provides a user-defined parameter object to any CacheWriter invoked in the process.
virtual void destroyRegion (const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Destroys the whole region and provides a user-defined parameter object to any CacheWriter invoked in the process.
virtual bool existsValue (const char *predicate, uint32_t timeout=DEFAULT_QUERY_RESPONSE_TIMEOUT)=0
 Executes the query on the server based on the predicate and returns whether any result exists.
template<class KEYTYPE>
CacheablePtr get (const KEYTYPE &key, const UserDataPtr &callbackArg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
virtual CacheablePtr get (const CacheableKeyPtr &key, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Returns the value associated with the specified key, passing the callback argument to any cache loaders that are invoked in the operation.
virtual void getAll (const VectorOfCacheableKey &keys, HashMapOfCacheablePtr values, HashMapOfExceptionPtr exceptions, bool addToLocalCache=false)=0
 Gets values for an array of keys from the local cache or server.
virtual
RegionAttributesPtr 
getAttributes () const =0
 Return the RegionAttributes for this region.
virtual
AttributesMutatorPtr 
getAttributesMutator () const =0
 Return the a mutator object for changing a subset of the region attributes.
virtual CachePtr getCache () const =0
 Returns the cache associated with this region.
template<class KEYTYPE>
RegionEntryPtr getEntry (const KEYTYPE &key)
 Convenience method allowing key to be a const char*.
virtual RegionEntryPtr getEntry (const CacheableKeyPtr &key)=0
 Return the meta-object RegionEntry for key.
virtual const char * getFullPath () const =0
 return the full path of the region as can be used to lookup the region from Cache::getRegion.
virtual void getInterestList (VectorOfCacheableKey &vlist) const =0
 Returns the list of keys on which this client is interested and will be notified of changes.
virtual void getInterestListRegex (VectorOfCacheableString &vregex) const =0
 Returns the list of regular expresssions on which this client is interested and will be notified of changes.
virtual const char * getName () const =0
virtual RegionPtr getParentRegion () const =0
 Returns the parent region, or NULLPTR if a root region.
virtual RegionServicePtr getRegionService () const =0
 Returns the cache associated with this region.
virtual RegionPtr getSubregion (const char *path)=0
 Returns the subregion identified by the path, NULLPTR if no such subregion.
template<class KEYTYPE>
void invalidate (const KEYTYPE &key, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
virtual void invalidate (const CacheableKeyPtr &key, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Invalidates the entry with the specified key, and provides a user-defined argument to the CacheListener.
virtual void invalidateRegion (const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Invalidates this region.
virtual void keys (VectorOfCacheableKey &v)=0
 Return all the keys in the local process for this region.
virtual void localClear (const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Removes all entries from this region and provides a user-defined parameter object to any CacheWriter or CacheListener invoked in the process.
template<class VALUETYPE>
void localCreate (const CacheableKeyPtr &key, const VALUETYPE &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing value to be a const char*.
template<class KEYTYPE>
void localCreate (const KEYTYPE &key, const CacheablePtr &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
template<class KEYTYPE, class VALUETYPE>
void localCreate (const KEYTYPE &key, const VALUETYPE &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing both key and value to be a const char*.
virtual void localCreate (const CacheableKeyPtr &key, const CacheablePtr &value, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Creates a new entry in this region with the specified key and value in the local cache only, providing a user-defined parameter object to any CacheWriter invoked in the process.
template<class KEYTYPE>
void localDestroy (const KEYTYPE &key, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
virtual void localDestroy (const CacheableKeyPtr &key, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Destroys the entry with the specified key in the local cache only, and provides a user-defined parameter object to any CacheWriter invoked in the process.
virtual void localDestroyRegion (const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Destroys the whole region and provides a user-defined parameter object to any CacheWriter invoked in the process.
template<class KEYTYPE>
void localInvalidate (const KEYTYPE &key, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
virtual void localInvalidate (const CacheableKeyPtr &key, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Invalidates the entry with the specified key in the local cache only, and provides a user-defined argument to the CacheListener.
virtual void localInvalidateRegion (const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Invalidates this region.
template<class VALUETYPE>
void localPut (const CacheableKeyPtr &key, const VALUETYPE &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing value to be a const char*.
template<class KEYTYPE>
void localPut (const KEYTYPE &key, const CacheablePtr &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
template<class KEYTYPE, class VALUETYPE>
void localPut (const KEYTYPE &key, const VALUETYPE &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing both key and value to be a const char*.
virtual void localPut (const CacheableKeyPtr &key, const CacheablePtr &value, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Places a new value into an entry in this region with the specified key in the local cache only, providing a user-defined parameter object to any CacheWriter invoked in the process.
template<class VALUETYPE>
bool localRemove (const CacheableKeyPtr &key, const VALUETYPE &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing value to be a const char*.
template<class KEYTYPE>
bool localRemove (const KEYTYPE &key, const CacheablePtr &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
template<class KEYTYPE, class VALUETYPE>
bool localRemove (const KEYTYPE &key, const VALUETYPE &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing both key and value to be a const char*.
virtual bool localRemove (const CacheableKeyPtr &key, const CacheablePtr &value, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Removes the entry with the specified key and value in the local cache only, and provides a user-defined parameter object to any CacheWriter invoked in the process.
template<class KEYTYPE>
bool localRemoveEx (const KEYTYPE &key, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
virtual bool localRemoveEx (const CacheableKeyPtr &key, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Removes the entry with the specified key in the local cache only, and provides a user-defined parameter object to any CacheWriter invoked in the process.
void preserveSB () const
 Atomically increment reference count.
template<class VALUETYPE>
void put (const CacheableKeyPtr &key, const VALUETYPE &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing value to be a const char*.
template<class KEYTYPE>
void put (const KEYTYPE &key, const CacheablePtr &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
template<class KEYTYPE, class VALUETYPE>
void put (const KEYTYPE &key, const VALUETYPE &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing both key and value to be a const char*.
virtual void put (const CacheableKeyPtr &key, const CacheablePtr &value, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Places a new value into an entry in this region with the specified key, providing a user-defined parameter object to any CacheWriter invoked in the process.
virtual void putAll (const HashMapOfCacheable &map, uint32_t timeout=15)=0
 Places a set of new values in this region with the specified keys given as a map of key/value pairs.
virtual SelectResultsPtr query (const char *predicate, uint32_t timeout=DEFAULT_QUERY_RESPONSE_TIMEOUT)=0
 Executes the query on the server based on the predicate.
int32_t refCount ()
 
Returns:
the reference count

virtual void registerAllKeys (bool isDurable=false, VectorOfCacheableKeyPtr resultKeys=gemfire::NullSharedBase::s_instancePtr, bool getInitialValues=false, bool receiveValues=true)=0
 Registers to get updates for all keys from the server.
virtual void registerKeys (const VectorOfCacheableKey &keys, bool isDurable=false, bool getInitialValues=false, bool receiveValues=true)=0
 Registers an array of keys for getting updates from the server.
virtual void registerRegex (const char *regex, bool isDurable=false, VectorOfCacheableKeyPtr resultKeys=gemfire::NullSharedBase::s_instancePtr, bool getInitialValues=false, bool receiveValues=true)=0
 Registers a regular expression to match with keys to get updates from the server.
void releaseSB () const
 Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.
template<class KEYTYPE>
bool remove (const KEYTYPE &key)
 Convenience method allowing both key and value to be a const char*.
template<class VALUETYPE>
bool remove (const CacheableKeyPtr &key, const VALUETYPE &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing value to be a const char*.
template<class KEYTYPE>
bool remove (const KEYTYPE &key, const CacheablePtr &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
template<class KEYTYPE, class VALUETYPE>
bool remove (const KEYTYPE &key, const VALUETYPE &value, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing both key and value to be a const char*.
virtual bool remove (const CacheableKeyPtr &key, const CacheablePtr &value, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Removes the entry with the specified key, value and provides a user-defined parameter object to any CacheWriter invoked in the process.
template<class KEYTYPE>
bool removeEx (const KEYTYPE &key, const UserDataPtr &arg=gemfire::NullSharedBase::s_instancePtr)
 Convenience method allowing key to be a const char*.
virtual bool removeEx (const CacheableKeyPtr &key, const UserDataPtr &aCallbackArgument=gemfire::NullSharedBase::s_instancePtr)=0
 Removes the entry with the specified key and provides a user-defined parameter object to any CacheWriter invoked in the process.
virtual SerializablePtr selectValue (const char *predicate, uint32_t timeout=DEFAULT_QUERY_RESPONSE_TIMEOUT)=0
 Executes the query on the server based on the predicate and returns a single result value.
virtual void serverKeys (VectorOfCacheableKey &v)=0
 Return the set of keys defined in the server process associated to this client and region.
virtual uint32_t size ()=0
 Get the size of region.
virtual void subregions (const bool recursive, VectorOfRegion &sr)=0
 Populates the passed in VectorOfRegion with subregions of the current region.
virtual void unregisterAllKeys ()=0
 Registers to get updates for all keys from the server.
virtual void unregisterKeys (const VectorOfCacheableKey &keys)=0
 Unregisters an array of keys to stop getting updates for them.
virtual void unregisterRegex (const char *regex)=0
 Unregisters a regular expression to stop getting updates for keys from the server.
virtual void values (VectorOfCacheable &vc)=0
 Return all values in the local process for this region.

Member Function Documentation

virtual void gemfire::Region::clear ( const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr  )  [pure virtual]

Removes all entries from this region and provides a user-defined parameter object to any CacheWriter or CacheListener invoked in the process.

See also:
CacheListener::afterRegionClear

CacheWriter::beforeRegionClear

template<class KEYTYPE>
bool gemfire::Region::containsKey ( const KEYTYPE &  key  )  const [inline]

Convenience method allowing key to be a const char* This operations checks for the key in the local cache .

It is not propagated to the Gemfire cache server to which it is connected.

virtual bool gemfire::Region::containsKey ( const CacheableKeyPtr keyPtr  )  const [pure virtual]

Only the client's cache is searched for the key.

It does not go to the java server to which it is connected with.

virtual bool gemfire::Region::containsKeyOnServer ( const CacheableKeyPtr keyPtr  )  const [pure virtual]

The cache of the server, to which it is connected with, is searched for the key to see if the key is present.

Exceptions:
UnsupportedOperationException if the region's scope is ScopeType::LOCAL.

template<class KEYTYPE>
bool gemfire::Region::containsValueForKey ( const KEYTYPE &  key  )  const [inline]

Convenience method allowing key to be a const char* This operations checks for the value in the local cache .

It is not propagated to the Gemfire cache server to which it is connected.

virtual bool gemfire::Region::containsValueForKey ( const CacheableKeyPtr keyPtr  )  const [pure virtual]

This operations checks for the value in the local cache .

It is not propagated to the Gemfire cache server to which it is connected.

template<class VALUETYPE>
void gemfire::Region::create ( const CacheableKeyPtr key,
const VALUETYPE &  value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing value to be a const char*.

template<class KEYTYPE>
void gemfire::Region::create ( const KEYTYPE &  key,
const CacheablePtr value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

template<class KEYTYPE, class VALUETYPE>
void gemfire::Region::create ( const KEYTYPE &  key,
const VALUETYPE &  value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing both key and value to be a const char*.

virtual void gemfire::Region::create ( const CacheableKeyPtr key,
const CacheablePtr value,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Creates a new entry in this region with the specified key and value, providing a user-defined parameter object to any CacheWriter invoked in the process.

The same parameter is also passed to the CacheListener, if one is defined for this Region, invoked in the process. The new entry is propogated to the java server also to which it is connected with.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entry.

If remote server put fails throwing back a CacheServerException 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.

Parameters:
key the key smart pointer for which to create the entry in this region.
value the value for the new entry, which may be NULLPTR meaning the new entry starts as if it had been locally invalidated.
aCallbackArgument a user-defined parameter to pass to callback events triggered by this method. Can be NULLPTR. Should be serializable if passed to remote callback events
Exceptions:
IllegalArgumentException if key is NULLPTR or if the key, value, or aCallbackArgument do not meet serializability requirements
CacheWriterException if CacheWriter aborts the operation
CacheListenerException if CacheListener throws an exception
RegionDestroyedException if region is no longer valid
CacheServerException If an exception is received from the Java cache server. Only for Native Client regions.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
MessageExcepton 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.
TimeoutException if the operation timed out
OutOfMemoryException if no memory for new entry
EntryExistsException if an entry with this key already exists

virtual RegionPtr gemfire::Region::createSubregion ( const char *  subregionName,
const RegionAttributesPtr aRegionAttributes 
) [pure virtual]

Creates a subregion with the specified attributes.

template<class KEYTYPE>
void gemfire::Region::destroy ( const KEYTYPE &  key,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

virtual void gemfire::Region::destroy ( const CacheableKeyPtr key,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Destroys the entry with the specified key, and provides a user-defined parameter object to any CacheWriter invoked in the process.

The same parameter is also passed to the CacheListener, if one is defined for this Region, invoked in the process. Destroy removes not only the value, but also the key and entry from this region.

The destroy is propogated to the Gemfire cache server to which it is connected with. If the destroy fails due to an exception on server throwing back CacheServerException or security exception, then the local entry is still destroyed.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entry.

Parameters:
key the key of the entry to destroy
aCallbackArgument a user-defined parameter to pass to callback events triggered by this method. Can be NULLPTR. If it is sent on the wire, it has to be Serializable.
Exceptions:
IllegalArgumentException if key is NULLPTR
CacheWriterException if CacheWriter aborts the operation
CacheListenerException if CacheListener throws an exception
CacheServerException If an exception is received from the Gemfire cache server. Only for Native Client regions.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
MessageExcepton 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.
TimeoutException if the operation timed out
RegionDestroyedException if the region is destroyed.
See also:
invalidate

CacheListener::afterDestroy

CacheWriter::beforeDestroy

virtual void gemfire::Region::destroyRegion ( const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr  )  [pure virtual]

Destroys the whole region and provides a user-defined parameter object to any CacheWriter invoked in the process.

Destroy cascades to all entries and subregions. After the destroy, this region object cannot be used any more. Any attempt to use this region object will get a RegionDestroyedException exception.

The region destroy not only destroys the local region but also destroys the server region. However, if server region destroy fails throwing back CacheServerException or security exception, the local region is still destroyed.

Parameters:
aCallbackArgument a user-defined parameter to pass to callback events triggered by this call. Can be NULLPTR. If it is sent on the wire, it has to be Serializable.
Exceptions:
CacheWriterException if CacheWriter aborts the operation; if this occurs some subregions may have already been successfully destroyed.
CacheListenerException if CacheListener throws an exception; if this occurs some subregions may have already been successfully invalidated
CacheServerException If an exception is received from the Java cache server. Only for Native Client regions.
NotConnectedException if not connected to the gemfire 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
MessageExcepton 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.
TimeoutException if operation timed out
See also:
invalidateRegion

virtual bool gemfire::Region::existsValue ( const char *  predicate,
uint32_t  timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT 
) [pure virtual]

Executes the query on the server based on the predicate and returns whether any result exists.

Valid only for a Native Client region.

Parameters:
predicate The query predicate (just the WHERE clause) or the entire query to execute.
timeout The time (in seconds) to wait for the response, optional. This should be less than or equal to 2^31/1000 i.e. 2147483.
Exceptions:
IllegalArgumentException If predicate is empty or timeout parameter is greater than 2^31/1000.
QueryException if some query error occurred at the server.
NotConnectedException if a server connection error occurs. For pools configured with locators, if no locators are available, the cause of NotConnectedException is set to NoAvailableLocatorsException.
MessageExcepton If the message received from server could not be handled. This will be the case when the reply is not well formed. More information can be found in the log.
TimeoutException if operation timed out
CacheClosedException if the cache has been closed
Returns:
true if the result size is non-zero, false otherwise.

template<class KEYTYPE>
CacheablePtr gemfire::Region::get ( const KEYTYPE &  key,
const UserDataPtr callbackArg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

virtual CacheablePtr gemfire::Region::get ( const CacheableKeyPtr key,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Returns the value associated with the specified key, passing the callback argument to any cache loaders that are invoked in the operation.

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. The value returned by get is not copied, so multi-threaded applications should not modify the value directly, but should use the update methods.

Updates the CacheStatistics::getLastAccessedTime, CacheStatistics::getHitCount, CacheStatistics::getMissCount, and CacheStatistics::getLastModifiedTime (if a new value is loaded) for this region and the entry.

Parameters:
key whose associated value is to be returned. The key Object must implement the equals and hashCode methods.
aCallbackArgument an argument passed into the CacheLoader if loader is used. If it is sent on the wire, it has to be Serializable.
Exceptions:
IllegalArgumentException if key is NULLPTR or aCallbackArgument is not serializable and a remote CacheLoader needs to be invoked
CacheLoaderException if CacheLoader throws an exception
CacheServerException If an exception is received from the Java cache server. Only for Native Client regions.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
MessageExcepton 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.
TimeoutException if operation timed out
RegionDestroyedException if the method is called on a destroyed region

virtual void gemfire::Region::getAll ( const VectorOfCacheableKey keys,
HashMapOfCacheablePtr  values,
HashMapOfExceptionPtr  exceptions,
bool  addToLocalCache = false 
) [pure virtual]

Gets values for an array 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.

Updates the CacheStatistics::getLastAccessedTime, CacheStatistics::getHitCount and CacheStatistics::getMissCount for this region and the entry.

Parameters:
keys the array of keys
values Output parameter that provides the map of keys to respective values. It is ignored if NULLPTR, and when NULLPTR then at least the addToLocalCache parameter should be true and caching should be enabled for the region to get values into the region otherwise an IllegalArgumentException is thrown.
exceptions Output parameter that provides the map of keys to any exceptions while obtaining the key. It is ignored if NULLPTR.
addToLocalCache true if the obtained values have also to be added to the local cache
Exceptions:
IllegalArgumentException If the array of keys is empty. Other invalid case is when the values parameter is NULLPTR, and either addToLocalCache is false or caching is disabled for this region.
CacheServerException If an exception is received from the Java cache server while processing the request.
NotConnectedException if it 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
RegionDestroyedException If region destroy is pending.
TimeoutException if operation timed out.
UnknownException For other exceptions.
See also:
get

virtual RegionAttributesPtr gemfire::Region::getAttributes (  )  const [pure virtual]

Return the RegionAttributes for this region.

virtual AttributesMutatorPtr gemfire::Region::getAttributesMutator (  )  const [pure virtual]

Return the a mutator object for changing a subset of the region attributes.

Exceptions:
RegionDestroyedException. 

virtual CachePtr gemfire::Region::getCache (  )  const [pure virtual]

Returns the cache associated with this region.

Returns:
the cache
Deprecated:
as of NativeClient 3.5, use Region#getRegionService instead.

template<class KEYTYPE>
RegionEntryPtr gemfire::Region::getEntry ( const KEYTYPE &  key  )  [inline]

Convenience method allowing key to be a const char*.

virtual RegionEntryPtr gemfire::Region::getEntry ( const CacheableKeyPtr key  )  [pure virtual]

Return the meta-object RegionEntry for key.

Exceptions:
IllegalArgumentException,RegionDestroyedException. 

virtual const char* gemfire::Region::getFullPath (  )  const [pure virtual]

return the full path of the region as can be used to lookup the region from Cache::getRegion.

The storage is backed by the region.

virtual void gemfire::Region::getInterestList ( VectorOfCacheableKey vlist  )  const [pure virtual]

Returns the list of keys on which this client is interested and will be notified of changes.

Exceptions:
UnsupportedOperationException if the region's scope is ScopeType::LOCAL.

virtual void gemfire::Region::getInterestListRegex ( VectorOfCacheableString vregex  )  const [pure virtual]

Returns the list of regular expresssions on which this client is interested and will be notified of changes.

Exceptions:
UnsupportedOperationException if the region's scope is ScopeType::LOCAL.

virtual const char* gemfire::Region::getName (  )  const [pure virtual]

Public Methods return single name of region. The storage is backed by the region.

virtual RegionPtr gemfire::Region::getParentRegion (  )  const [pure virtual]

Returns the parent region, or NULLPTR if a root region.

Exceptions:
RegionDestroyedException 

virtual RegionServicePtr gemfire::Region::getRegionService (  )  const [pure virtual]

Returns the cache associated with this region.

Returns:
the cache

virtual RegionPtr gemfire::Region::getSubregion ( const char *  path  )  [pure virtual]

Returns the subregion identified by the path, NULLPTR if no such subregion.

template<class KEYTYPE>
void gemfire::Region::invalidate ( const KEYTYPE &  key,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

virtual void gemfire::Region::invalidate ( const CacheableKeyPtr key,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Invalidates the entry with the specified key, and provides a user-defined argument to the CacheListener.

Invalidate only removes the value from the entry, the key is kept intact. To completely remove the entry, destroy should be used. The invalidate is not propogated to the Gemfire cache server to which it is connected with.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entry.

Parameters:
key the key of the value to be invalidated
aCallbackArgument a user-defined parameter to pass to callback events triggered by this method. Can be NULLPTR. Should be serializable if passed to remote callback events
Exceptions:
IllegalArgumentException if key is NULLPTR
CacheListenerException if CacheListener throws an exception
EntryNotFoundException if this entry does not exist in this region locally
RegionDestroyedException if the region is destroyed
See also:
destroy

CacheListener::afterInvalidate

virtual void gemfire::Region::invalidateRegion ( const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr  )  [pure virtual]

Invalidates this region.

The invalidation will cascade to all the subregions and cached entries. After the invalidateRegion , the region and the entries in it still exist. In order to remove all the entries and the region, destroyRegion should be used.

Parameters:
aCallbackArgument a user-defined parameter to pass to callback events triggered by this method. Can be NULLPTR. If it is sent on the wire, it has to be Serializable.
Exceptions:
CacheListenerException if CacheListener throws an exception; if this occurs some subregions may have already been successfully invalidated
RegionDestroyedException if the region is no longer valid
See also:
destroyRegion

CacheListener::afterRegionInvalidate This operation is not distributed.

virtual void gemfire::Region::keys ( VectorOfCacheableKey v  )  [pure virtual]

Return all the keys in the local process for this region.

This includes keys for which the entry is invalid.

virtual void gemfire::Region::localClear ( const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr  )  [pure virtual]

Removes all entries from this region and provides a user-defined parameter object to any CacheWriter or CacheListener invoked in the process.

Clear will not be distributed to other caches.

See also:
CacheListener::afterRegionClear

CacheWriter::beforeRegionClear

template<class VALUETYPE>
void gemfire::Region::localCreate ( const CacheableKeyPtr key,
const VALUETYPE &  value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing value to be a const char*.

template<class KEYTYPE>
void gemfire::Region::localCreate ( const KEYTYPE &  key,
const CacheablePtr value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

template<class KEYTYPE, class VALUETYPE>
void gemfire::Region::localCreate ( const KEYTYPE &  key,
const VALUETYPE &  value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing both key and value to be a const char*.

virtual void gemfire::Region::localCreate ( const CacheableKeyPtr key,
const CacheablePtr value,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Creates a new entry in this region with the specified key and value in the local cache only, providing a user-defined parameter object to any CacheWriter invoked in the process.

The same parameter is also passed to the CacheListener, if one is defined for this Region, invoked in the process.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entry.

Parameters:
key the key smart pointer for which to create the entry in this region.
value the value for the new entry, which may be NULLPTR meaning the new entry starts as if it had been locally invalidated.
aCallbackArgument a user-defined parameter to pass to callback events triggered by this method. Can be NULLPTR. Should be serializable if passed to remote callback events
Exceptions:
IllegalArgumentException if key or value is NULLPTR
CacheWriterException if CacheWriter aborts the operation
CacheListenerException if CacheListener throws an exception
RegionDestroyedException if region is no longer valid
OutOfMemoryException if no memory for new entry
EntryExistsException if an entry with this key already exists

template<class KEYTYPE>
void gemfire::Region::localDestroy ( const KEYTYPE &  key,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

virtual void gemfire::Region::localDestroy ( const CacheableKeyPtr key,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Destroys the entry with the specified key in the local cache only, and provides a user-defined parameter object to any CacheWriter invoked in the process.

The same parameter is also passed to the CacheListener, if one is defined for this Region, invoked in the process. Destroy removes not only the value but also the key and entry from this region.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entry.

Parameters:
key the key of the entry to destroy.
aCallbackArgument the callback for user to pass in, default is NULLPTR.
Exceptions:
IllegalArgumentException if key is NULLPTR
CacheWriterException if CacheWriter aborts the operation
CacheListenerException if CacheListener throws an exception
EntryNotFoundException if the entry does not exist in this region locally
See also:
invalidate

CacheListener::afterDestroy

CacheWriter::beforeDestroy

virtual void gemfire::Region::localDestroyRegion ( const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr  )  [pure virtual]

Destroys the whole region and provides a user-defined parameter object to any CacheWriter invoked in the process.

Destroy cascades to all entries and subregions. After the destroy, this region object cannot be used any more. Any attempt to use this region object will get a RegionDestroyedException exception. The region destroy is not distributed to other caches.

Parameters:
aCallbackArgument a user-defined parameter to pass to callback events triggered by this call. Can be NULLPTR. If it is sent on the wire, it has to be Serializable.
Exceptions:
CacheWriterException if CacheWriter aborts the operation; if this occurs some subregions may have already been successfully destroyed.
CacheListenerException if CacheListener throws an exception; if this occurs some subregions may have already been successfully invalidated
See also:
localInvalidateRegion

template<class KEYTYPE>
void gemfire::Region::localInvalidate ( const KEYTYPE &  key,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

virtual void gemfire::Region::localInvalidate ( const CacheableKeyPtr key,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Invalidates the entry with the specified key in the local cache only, and provides a user-defined argument to the CacheListener.

Invalidate only removes the value from the entry, the key is kept intact. To completely remove the entry, destroy should be used.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entry.

Parameters:
key the key of the value to be invalidated
aCallbackArgument a user-defined parameter to pass to callback events triggered by this method. Can be NULLPTR. Should be serializable if passed to remote callback events
Exceptions:
IllegalArgumentException if key is NULLPTR
CacheListenerException if CacheListener throws an exception
EntryNotFoundException if this entry does not exist in this region locally
RegionDestroyedException if the region is destroyed
See also:
destroy

CacheListener::afterInvalidate

virtual void gemfire::Region::localInvalidateRegion ( const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr  )  [pure virtual]

Invalidates this region.

The invalidation will cascade to all the subregions and cached entries. After the invalidateRegion , the region and the entries in it still exist. In order to remove all the entries and the region, destroyRegion should be used. The region invalidate will not be distributed to other caches

Parameters:
aCallbackArgument a user-defined parameter to pass to callback events triggered by this method. Can be NULLPTR. If it is sent on the wire, it has to be Serializable.
Exceptions:
CacheListenerException if CacheListener throws an exception; if this occurs some subregions may have already been successfully invalidated
RegionDestroyedException if the region is no longer valid
See also:
destroyRegion

CacheListener::afterRegionInvalidate

template<class VALUETYPE>
void gemfire::Region::localPut ( const CacheableKeyPtr key,
const VALUETYPE &  value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing value to be a const char*.

template<class KEYTYPE>
void gemfire::Region::localPut ( const KEYTYPE &  key,
const CacheablePtr value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

template<class KEYTYPE, class VALUETYPE>
void gemfire::Region::localPut ( const KEYTYPE &  key,
const VALUETYPE &  value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing both key and value to be a const char*.

virtual void gemfire::Region::localPut ( const CacheableKeyPtr key,
const CacheablePtr value,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Places a new value into an entry in this region with the specified key in the local cache only, providing a user-defined parameter object to any CacheWriter invoked in the process.

The same parameter is also passed to the CacheListener, if one is defined for this Region, invoked in the process. If there is already an entry associated with the specified key in this region, the entry's previous value is overwritten.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entry.

Parameters:
key a key smart pointer associated with the value to be put into this region.
value the value to be put into the cache
aCallbackArgument an argument that is passed to the callback functions
Exceptions:
IllegalArgumentException if key or value is NULLPTR
CacheWriterException if CacheWriter aborts the operation
CacheListenerException if CacheListener throws an exception
RegionDestroyedException if region no longer valid
OutOfMemoryException if not enoough memory for the value

template<class VALUETYPE>
bool gemfire::Region::localRemove ( const CacheableKeyPtr key,
const VALUETYPE &  value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing value to be a const char*.

template<class KEYTYPE>
bool gemfire::Region::localRemove ( const KEYTYPE &  key,
const CacheablePtr value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

template<class KEYTYPE, class VALUETYPE>
bool gemfire::Region::localRemove ( const KEYTYPE &  key,
const VALUETYPE &  value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing both key and value to be a const char*.

virtual bool gemfire::Region::localRemove ( const CacheableKeyPtr key,
const CacheablePtr value,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Removes the entry with the specified key and value in the local cache only, and provides a user-defined parameter object to any CacheWriter invoked in the process.

The same parameter is also passed to the CacheListener and CacheWriter, if one is defined for this Region, invoked in the process. Remove removes not only the value but also the key and entry from this region.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entry.

Parameters:
key the key of the entry to remove.
value the value of the entry to remove.
aCallbackArgument the callback for user to pass in, default is NULLPTR.
Exceptions:
IllegalArgumentException if key is NULLPTR
CacheWriterException if CacheWriter aborts the operation
CacheListenerException if CacheListener throws an exception
Returns:
the boolean true if an entry(key, value)has been removed or false if an entry(key, value) has not been removed.
See also:
destroy

CacheListener::afterDestroy

CacheWriter::beforeDestroy

template<class KEYTYPE>
bool gemfire::Region::localRemoveEx ( const KEYTYPE &  key,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

virtual bool gemfire::Region::localRemoveEx ( const CacheableKeyPtr key,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Removes the entry with the specified key in the local cache only, and provides a user-defined parameter object to any CacheWriter invoked in the process.

The same parameter is also passed to the CacheListener and CacheWriter, if one is defined for this Region, invoked in the process. Remove removes not only the value but also the key and entry from this region.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entry.

Parameters:
key the key of the entry to remove.
aCallbackArgument the callback for user to pass in, default is NULLPTR.
Exceptions:
IllegalArgumentException if key is NULLPTR
CacheWriterException if CacheWriter aborts the operation
CacheListenerException if CacheListener throws an exception
Returns:
the boolean true if an entry(key, value)has been removed or false if an entry(key, value) has not been removed.
See also:
destroy

CacheListener::afterDestroy

CacheWriter::beforeDestroy

void gemfire::SharedBase::preserveSB (  )  const [inherited]

Atomically increment reference count.

template<class VALUETYPE>
void gemfire::Region::put ( const CacheableKeyPtr key,
const VALUETYPE &  value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing value to be a const char*.

template<class KEYTYPE>
void gemfire::Region::put ( const KEYTYPE &  key,
const CacheablePtr value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

template<class KEYTYPE, class VALUETYPE>
void gemfire::Region::put ( const KEYTYPE &  key,
const VALUETYPE &  value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing both key and value to be a const char*.

virtual void gemfire::Region::put ( const CacheableKeyPtr key,
const CacheablePtr value,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Places a new value into an entry in this region with the specified key, providing a user-defined parameter object to any CacheWriter invoked in the process.

The same parameter is also passed to the CacheListener, if one is defined for this Region, invoked in the process. 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 with.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entry.

If remote server put fails throwing back a CacheServerException 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.

Parameters:
key a key smart pointer associated with the value to be put into this region.
value the value to be put into the cache
aCallbackArgument an argument that is passed to the callback function
Exceptions:
IllegalArgumentException if key or value is NULLPTR
CacheWriterException if CacheWriter aborts the operation
CacheListenerException if CacheListener throws an exception
RegionDestroyedException if region no longer valid
CacheServerException If an exception is received from the Java cache server.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
MessageExcepton 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.
TimeoutException if operation timed out
OutOfMemoryException if not enoough memory for the value

virtual void gemfire::Region::putAll ( const HashMapOfCacheable map,
uint32_t  timeout = 15 
) [pure virtual]

Places a set of new values in this region with the specified keys given as a map of key/value pairs.

If there is already an entry associated with a specified key in this region, the entry's previous value is overwritten.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entries.

Parameters:
map,: A hashmap containing key-value pairs
timeout,: The time (in seconds) to wait for the response, optional. This should be less than or equal to 2^31/1000 i.e. 2147483. Default is 15 (seconds).
Exceptions:
IllegalArgumentException If timeout parameter is greater than 2^31/1000, ie 2147483.

virtual SelectResultsPtr gemfire::Region::query ( const char *  predicate,
uint32_t  timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT 
) [pure virtual]

Executes the query on the server based on the predicate.

Valid only for a Native Client region.

Parameters:
predicate The query predicate (just the WHERE clause) or the entire query to execute.
timeout The time (in seconds) to wait for the query response, optional. This should be less than or equal to 2^31/1000 i.e. 2147483.
Exceptions:
IllegalArgumentException If predicate is empty or timeout parameter is greater than 2^31/1000.
QueryException if some query error occurred at the server.
CacheServerException If an exception is received from the Java cache server.
NotConnectedException if a server connection error occurs. For pools configured with locators, if no locators are available, the cause of NotConnectedException is set to NoAvailableLocatorsException.
MessageExcepton 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.
TimeoutException if operation timed out
CacheClosedException if the cache has been closed
Returns:
A smart pointer to the SelectResults which can either be a ResultSet or a StructSet.

int32_t gemfire::SharedBase::refCount (  )  [inline, inherited]

Returns:
the reference count

virtual void gemfire::Region::registerAllKeys ( bool  isDurable = false,
VectorOfCacheableKeyPtr  resultKeys = gemfire::NullSharedBase::s_instancePtr,
bool  getInitialValues = false,
bool  receiveValues = true 
) [pure virtual]

Registers to get updates for all keys from the server.

Valid only for a Native Client region when client notification ( AttributesFactory::setClientNotification ) is true.

Parameters:
isDurable flag to indicate whether this is a durable registration
resultKeys If non-NULLPTR then all the keys on the server that got registered are returned. The vector is cleared at the start to discard any existing keys in the vector.
getInitialValues true to populate the cache with values of all keys from the server
receiveValues whether to act like notify-by-subscription is set
Exceptions:
EntryNotFoundException If an exception occurs while obtaining values from server after register interest is complete. The actual cause of the exception can be obtained using Exception::getCause. If an application wants to undo the registration on server, or take some other steps for the incomplete cache population then this is the exception that should be caught.
UnsupportedOperationException If the region is not a Native Client region or AttributesFactory::setClientNotification is false.
CacheServerException If an exception is received from the Java cache server.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
RegionDestroyedException If region destroy is pending.
UnknownException For other exceptions.
TimeoutException if operation timed out

virtual void gemfire::Region::registerKeys ( const VectorOfCacheableKey keys,
bool  isDurable = false,
bool  getInitialValues = false,
bool  receiveValues = true 
) [pure virtual]

Registers an array of keys for getting updates from the server.

Valid only for a Native Client region when client notification ( AttributesFactory::setClientNotification ) is true.

Parameters:
keys the array of keys
isDurable flag to indicate whether this is a durable registration
getInitialValues true to populate the cache with values of the keys that were registered on the server
receiveValues whether to act like notify-by-subscription is set
Exceptions:
IllegalArgumentException If the array of keys is empty.
IllegalStateException If already registered interest for all keys.
EntryNotFoundException If an exception occurs while obtaining values from server after register interest is complete. The actual cause of the exception can be obtained using Exception::getCause. If an application wants to undo the registration on server, or take some other steps for the incomplete cache population then this is the exception that should be caught.
UnsupportedOperationException If the region is not a Native Client region or AttributesFactory::setClientNotification is false.
CacheServerException If an exception is received from the Java cache server.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
RegionDestroyedException If region destroy is pending.
UnknownException For other exceptions.
TimeoutException if operation timed out

virtual void gemfire::Region::registerRegex ( const char *  regex,
bool  isDurable = false,
VectorOfCacheableKeyPtr  resultKeys = gemfire::NullSharedBase::s_instancePtr,
bool  getInitialValues = false,
bool  receiveValues = true 
) [pure virtual]

Registers a regular expression to match with keys to get updates from the server.

Valid only for a Native Client region when client notification ( AttributesFactory::setClientNotification ) is true.

Parameters:
regex The regular expression string.
isDurable flag to indicate whether this is a durable registration
resultKeys If non-NULLPTR then the keys that match the regular expression on the server are returned. The vector is cleared at the start to discard any existing keys in the vector.
getInitialValues true to populate the cache with values of the keys that were registered on the server
receiveValues whether to act like notify-by-subscription is set
Exceptions:
IllegalArgumentException If regex is empty.
IllegalStateException If already registered interest for all keys.
EntryNotFoundException If an exception occurs while obtaining values from server after register interest is complete. The actual cause of the exception can be obtained using Exception::getCause. If an application wants to undo the registration on server, or take some other steps for the incomplete cache population then this is the exception that should be caught.
UnsupportedOperationException If the region is not a Native Client region or AttributesFactory::setClientNotification is false.
CacheServerException If an exception is received from the Java cache server.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
MessageExcepton 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.
RegionDestroyedException If region destroy is pending.
UnknownException For other exceptions.
TimeoutException if operation timed out

void gemfire::SharedBase::releaseSB (  )  const [inherited]

Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.

template<class KEYTYPE>
bool gemfire::Region::remove ( const KEYTYPE &  key  )  [inline]

Convenience method allowing both key and value to be a const char*.

template<class VALUETYPE>
bool gemfire::Region::remove ( const CacheableKeyPtr key,
const VALUETYPE &  value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing value to be a const char*.

template<class KEYTYPE>
bool gemfire::Region::remove ( const KEYTYPE &  key,
const CacheablePtr value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

template<class KEYTYPE, class VALUETYPE>
bool gemfire::Region::remove ( const KEYTYPE &  key,
const VALUETYPE &  value,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing both key and value to be a const char*.

virtual bool gemfire::Region::remove ( const CacheableKeyPtr key,
const CacheablePtr value,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Removes the entry with the specified key, value and provides a user-defined parameter object to any CacheWriter invoked in the process.

The same parameter is also passed to the CacheListener and CacheWriter, if one is defined for this Region, invoked in the process. remove removes not only the value, but also the key and entry from this region.

The remove is propogated to the Gemfire cache server to which it is connected with. If the destroy fails due to an exception on server throwing back CacheServerException or security exception, then the local entry is still removed.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entry.

Parameters:
key the key of the entry to remove
value the value of the key to remove, it can be NULLPTR.
aCallbackArgument a user-defined parameter to pass to callback events triggered by this method. Can be NULLPTR. If it is sent on the wire, it has to be Serializable.
Exceptions:
IllegalArgumentException if key is NULLPTR
CacheWriterException if CacheWriter aborts the operation
CacheListenerException if CacheListener throws an exception
CacheServerException If an exception is received from the Gemfire cache server. Only for Native Client regions.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
MessageExcepton 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.
TimeoutException if the operation timed out
RegionDestroyedException if the region is destroyed.
Returns:
the boolean true if an entry(key, value)has been removed or false if an entry(key, value) has not been removed.
See also:
destroy

CacheListener::afterDestroy

CacheWriter::beforeDestroy

template<class KEYTYPE>
bool gemfire::Region::removeEx ( const KEYTYPE &  key,
const UserDataPtr arg = gemfire::NullSharedBase::s_instancePtr 
) [inline]

Convenience method allowing key to be a const char*.

virtual bool gemfire::Region::removeEx ( const CacheableKeyPtr key,
const UserDataPtr aCallbackArgument = gemfire::NullSharedBase::s_instancePtr 
) [pure virtual]

Removes the entry with the specified key and provides a user-defined parameter object to any CacheWriter invoked in the process.

The same parameter is also passed to the CacheListener and CacheWriter, if one is defined for this Region, invoked in the process. remove removes not only the value, but also the key and entry from this region.

The remove is propogated to the Gemfire cache server to which it is connected with. If the destroy fails due to an exception on server throwing back CacheServerException or security exception, then the local entry is still removed.

Updates the CacheStatistics::getLastAccessedTime and CacheStatistics::getLastModifiedTime for this region and the entry.

Parameters:
key the key of the entry to remove
aCallbackArgument a user-defined parameter to pass to callback events triggered by this method. Can be NULLPTR. If it is sent on the wire, it has to be Serializable.
Exceptions:
IllegalArgumentException if key is NULLPTR
CacheWriterException if CacheWriter aborts the operation
CacheListenerException if CacheListener throws an exception
CacheServerException If an exception is received from the Gemfire cache server. Only for Native Client regions.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
MessageExcepton 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.
TimeoutException if the operation timed out
RegionDestroyedException if the region is destroyed.
Returns:
the boolean true if an entry(key, value)has been removed or false if an entry(key, value) has not been removed.
See also:
destroy

CacheListener::afterDestroy

CacheWriter::beforeDestroy

virtual SerializablePtr gemfire::Region::selectValue ( const char *  predicate,
uint32_t  timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT 
) [pure virtual]

Executes the query on the server based on the predicate and returns a single result value.

Valid only for a Native Client region.

Parameters:
predicate The query predicate (just the WHERE clause) or the entire query to execute.
timeout The time (in seconds) to wait for the response, optional. This should be less than or equal to 2^31/1000 i.e. 2147483.
Exceptions:
IllegalArgumentException If predicate is empty or timeout parameter is greater than 2^31/1000.
QueryException if some query error occurred at the server, or more than one result items are available.
NotConnectedException if a server connection error occurs. For pools configured with locators, if no locators are available, the cause of NotConnectedException is set to NoAvailableLocatorsException.
MessageExcepton 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.
TimeoutException if operation timed out
CacheClosedException if the cache has been closed
Returns:
A smart pointer to the single ResultSet or StructSet item, or NULLPTR of no results are available.

virtual void gemfire::Region::serverKeys ( VectorOfCacheableKey v  )  [pure virtual]

Return the set of keys defined in the server process associated to this client and region.

If a server has the region defined as a mirror, then this will be the entire keyset for the region across all PEER in the distributed system. The vector v will contain only the server keys. Any prior contents in the vector will be removed.

Exceptions:
CacheServerException If an exception is received from the Gemfire cache server. Only for Native Client regions.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
MessageExcepton 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.
TimeoutException if there is a timeout getting the keys
UnsupportedOperationException if the member type is not CLIENT or region is not a native client one.

virtual uint32_t gemfire::Region::size (  )  [pure virtual]

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.

virtual void gemfire::Region::subregions ( const bool  recursive,
VectorOfRegion sr 
) [pure virtual]

Populates the passed in VectorOfRegion with subregions of the current region.

Parameters:
recursive determines whether the method recursively fills in subregions
[out] sr subregions
Exceptions:
RegionDestroyedException 

virtual void gemfire::Region::unregisterAllKeys (  )  [pure virtual]

Registers to get updates for all keys from the server.

Valid only for a Native Client region when client notification ( AttributesFactory::setClientNotification ) is true.

Exceptions:
IllegalStateException If not previously registered all keys.
UnsupportedOperationException If the region is not a Native Client region or AttributesFactory::setClientNotification is false.
CacheServerException If an exception is received from the Java cache server.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
RegionDestroyedException If region destroy is pending.
UnknownException For other exceptions.
TimeoutException if operation timed out

virtual void gemfire::Region::unregisterKeys ( const VectorOfCacheableKey keys  )  [pure virtual]

Unregisters an array of keys to stop getting updates for them.

Valid only for a Native Client region when client notification ( AttributesFactory::setClientNotification ) is true.

Parameters:
keys the array of keys
Exceptions:
IllegalArgumentException If the array of keys is empty.
IllegalStateException If no keys were previously registered.
UnsupportedOperationException If the region is not a Native Client region or AttributesFactory::setClientNotification is false.
CacheServerException If an exception is received from the Java cache server.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
RegionDestroyedException If region destroy is pending.
UnknownException For other exceptions.
TimeoutException if operation timed out

virtual void gemfire::Region::unregisterRegex ( const char *  regex  )  [pure virtual]

Unregisters a regular expression to stop getting updates for keys from the server.

Valid only for a Native Client region when client notification ( AttributesFactory::setClientNotification ) is true.

Parameters:
regex The regular expression string.
Exceptions:
IllegalArgumentException If regex is empty.
IllegalStateException If not previously registered this regular expression string.
UnsupportedOperationException If the region is not a Native Client region or AttributesFactory::setClientNotification is false.
CacheServerException If an exception is received from the Java cache server.
NotConnectedException if it is not connected to the cache 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, the cause of NotConnectedException is set to NoAvailableLocatorsException.
RegionDestroyedException If region destroy is pending.
UnknownException For other exceptions.
TimeoutException if operation timed out

virtual void gemfire::Region::values ( VectorOfCacheable vc  )  [pure virtual]

Return all values in the local process for this region.

No value is included for entries that are invalidated.


GemFire C++ Cache API Documentation