AttributesFactory ClassPivotal GemFire .NET Client Documentation
Factory class to create instances of RegionAttributes.
Inheritance Hierarchy

System Object
    GemStone.GemFire.Cache AttributesFactory

Namespace: GemStone.GemFire.Cache
Assembly: GemStone.GemFire.Cache (in GemStone.GemFire.Cache.dll) Version:

[ObsoleteAttribute("Use classes and APIs from the GemStone.GemFire.Cache.Generic namespace")]
public sealed class AttributesFactory : [T:GemStone.GemFire.Cache.Internal.UMWrap<gemfire::AttributesFactory>]

An AttributesFactory instance maintains state for creating RegionAttributes instances. The setter methods are used to change the settings that will be used for creating the next attributes instance with the CreateRegionAttributes  method. If you create a factory with the default constructor, then the factory is set up to create attributes with all default settings. You can also create a factory by providing a preset RegionAttributes.

Once a RegionAttributes is created, it can only be modified after it has been used to create a Region, and then only by using an AttributesMutator obtained from the region.



ICacheLoader [default: null]
User-implemented plug-in for loading data on cache misses.
see SetCacheLoader(ICacheLoader), CacheLoader
ICacheWriter [default: null]
User-implemented plug-in for intercepting cache modifications, e.g. for writing to an external data source.
see SetCacheWriter(ICacheWriter), CacheWriter
ICacheListener [default: null]
User-implemented plug-in for receiving and handling cache-related events.
see SetCacheListener(ICacheListener), CacheListener
IPartitionResolver [default: null]
User-implemented plug-in for custom partitioning.
see SetPartitionResolver(IPartitionResolver), PartitionResolver


RegionTimeToLive [default: no expiration]
Expiration configuration for the entire region based on the lastModifiedTime ( LastModifiedTime ).
see SetRegionTimeToLive(ExpirationAction, UInt32), RegionTimeToLive, SetRegionTimeToLive(Int32)
RegionIdleTimeout [default: no expiration]
Expiration configuration for the entire region based on the lastAccessedTime ( LastAccessedTime ).
see SetRegionIdleTimeout(ExpirationAction, UInt32), RegionIdleTimeout, SetRegionIdleTimeout(Int32)
EntryTimeToLive [default: no expiration]
Expiration configuration for individual entries based on the lastModifiedTime ( LastModifiedTime ).
see SetEntryTimeToLive(ExpirationAction, UInt32), EntryTimeToLive, SetEntryTimeToLive(Int32)
EntryIdleTimeout [default: no expiration]
Expiration configuration for individual entries based on the lastAccessedTime ( LastAccessedTime ).
see SetEntryIdleTimeout(ExpirationAction, UInt32), EntryIdleTimeout, SetEntryIdleTimeout(Int32)


ScopeType [default:ScopeType.DistributedNoAck]
The C++ cache can contain either local regions or distributed regions. Distributed regions are configured with servers that they distribute their operations to upto. Locally scoped regions do not have any distribution behavior. GFE native client regions scoped as ScopeType.DistributedNoAck and ScopeType.DistributedAck have identical distribution behavior.
see SetScope(ScopeType), Scope


InitialCapacity [default:16]
The initial capacity of the map used for storing the entries.
see SetInitialCapacity(Int32), InitialCapacity
LoadFactor [default:0.75]
The load factor of the map used for storing the entries.
see SetLoadFactor(Single), LoadFactor
ConcurrencyLevel [default:16]
The allowed concurrency among updates to values in the region is guided by the concurrencyLevel, which is used as a hint for internal sizing. The actual concurrency will vary. Ideally, you should choose a value to accommodate as many threads as will ever concurrently modify values in the region. Using a significantly higher value than you need can waste space and time, and a significantly lower value can lead to thread contention. But overestimates and underestimates within an order of magnitude do not usually have much noticeable impact. A value of one is appropriate when it is known that only one thread will modify and all others will only read.
see SetConcurrencyLevel(Int32), ConcurrencyLevel

See Also