Class LocalScheme
- All Implemented Interfaces:
BackingMapManagerBuilder
,BuilderCustomization<LocalCache>
,MapBuilder
,NamedCacheBuilder
,ServiceBuilder
,CachingScheme
,ObservableCachingScheme
,Scheme
,ServiceScheme
The
LocalScheme
class is responsible for building a fully
configured instance of a LocalCache. Note that a LocalCache may be used as
a stand-alone cache or as part of a backing map.
This class will automatically inject the following types and named values into realized classes that have been annotated with @Injectable.
-
BackingMapManagerContext
(optionally named "manager-context") -
ConfigurableCacheFactory
- Cache Name (as a
String
.class named "cache-name") - Context
ClassLoader
(optionally named "class-loader") -
ResourceRegistry
-
CacheConfig
- together with any other resource, named or otherwise, available
in the
ResourceRegistry
provided by theConfigurableCacheFactory
.
- Since:
- Coherence 12.1.2
- Author:
- pfm 2011.10.30
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.tangosol.coherence.config.builder.MapBuilder
MapBuilder.Dependencies
-
Field Summary
Fields inherited from class com.tangosol.coherence.config.scheme.AbstractServiceScheme
m_serviceDependencies
Fields inherited from interface com.tangosol.coherence.config.scheme.ServiceScheme
DELIM_APPLICATION_SCOPE, DELIM_DOMAIN_PARTITION
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturn theCacheStoreScheme
which builds a CacheStore or CacheLoader.Return the EvictionPolicyBuilder used to build an EvictionPolicy.getExpiryDelay
(ParameterResolver resolver) Return the amount of time since the last update that entries are kept by the cache before being expired.getHighUnits
(ParameterResolver resolver) Return the limit of cache size.getLowUnits
(ParameterResolver resolver) Return the lowest number of units that a cache is pruned down to when pruning takes place.Return the UnitCalculatorBuilder used to build a UnitCalculator.int
getUnitFactor
(ParameterResolver resolver) Return the unit-factor element specifies the factor by which the units, low-units and high-units properties are adjusted.boolean
isPreLoad
(ParameterResolver resolver) Return true if a cache pre-loads data from its CacheLoader.realizeMap
(ParameterResolver resolver, MapBuilder.Dependencies dependencies) Realize aMap
based on the state of theMapBuilder
, resolvable parameters and providedMapBuilder.Dependencies
.void
setCacheStoreScheme
(CacheStoreScheme scheme) Set theCacheStoreScheme
which builds a CacheStore or CacheLoader.void
Set the EvictionPolicyBuilder.void
setExpiryDelay
(Expression<Seconds> expr) Set the expiry delay.void
setHighUnits
(Expression<Units> expr) Set the high units.void
setLowUnits
(Expression<Units> expr) Set the low units.void
setPreLoad
(Expression<Boolean> expr) Set the pre-load enabled flag.void
Set the UnitCalculatorBuilder.void
setUnitFactor
(Expression<Integer> expr) Set the unit factor.protected void
validate
(ParameterResolver resolver) Validate the properties.Methods inherited from class com.tangosol.coherence.config.scheme.AbstractLocalCachingScheme
getCustomBuilder, getEventInterceptorBuilders, getServiceType, isRunningClusterNeeded, setCustomBuilder
Methods inherited from class com.tangosol.coherence.config.scheme.AbstractCachingScheme
establishMapListeners, getDefaultParameterResolver, getListenerBuilder, realizeBackingMapManager, realizeCache, setListenerBuilder
Methods inherited from class com.tangosol.coherence.config.scheme.AbstractServiceScheme
ensureService, getDefaultServiceName, getScopedServiceName, getScopeName, getServiceBuilder, getServiceDependencies, getServiceName, getXml, injectScopeNameIntoService, isAutoStart, realizeService, setAutoStart, setScopeName, setServiceDependencies, setServiceName, setXml
Methods inherited from class com.tangosol.coherence.config.scheme.AbstractScheme
getSchemeName, isAnonymous, setSchemeName, validate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.tangosol.coherence.config.scheme.Scheme
getSchemeName, isAnonymous
Methods inherited from interface com.tangosol.coherence.config.scheme.ServiceScheme
getScopedServiceName, getServiceBuilder, getServiceName, isAutoStart
-
Constructor Details
-
LocalScheme
public LocalScheme()
-
-
Method Details
-
realizeMap
Realize aMap
based on the state of theMapBuilder
, resolvable parameters and providedMapBuilder.Dependencies
.- Specified by:
realizeMap
in interfaceMapBuilder
- Overrides:
realizeMap
in classAbstractCachingScheme
- Parameters:
resolver
- theParameterResolver
dependencies
- theMapBuilder.Dependencies
for realizing theMap
- Returns:
- a
Map
-
getCacheStoreScheme
Return theCacheStoreScheme
which builds a CacheStore or CacheLoader.- Returns:
- the CacheStoreScheme
-
setCacheStoreScheme
Set theCacheStoreScheme
which builds a CacheStore or CacheLoader.- Parameters:
scheme
- the CacheStoreScheme
-
getEvictionPolicyBuilder
Return the EvictionPolicyBuilder used to build an EvictionPolicy.- Returns:
- the builder
-
setEvictionPolicyBuilder
Set the EvictionPolicyBuilder.- Parameters:
bldr
- the EvictionPolicyBuilder
-
getExpiryDelay
Return the amount of time since the last update that entries are kept by the cache before being expired. Entries that have expired are not accessible and are evicted the next time a client accesses the cache. Any attempt to read an expired entry results in a reloading of the entry from the CacheStore.- Parameters:
resolver
- the ParameterResolver- Returns:
- the expiry delay
-
setExpiryDelay
Set the expiry delay.- Parameters:
expr
- the expiry delay expression
-
getHighUnits
Return the limit of cache size. Contains the maximum number of units that can be placed n the cache before pruning occurs. An entry is the unit of measurement, unless it is overridden by an alternate unit-calculator. When this limit is exceeded, the cache begins the pruning process, evicting entries according to the eviction policy. Legal values are positive integers or zero. Zero implies no limit.- Parameters:
resolver
- the ParameterResolver- Returns:
- the high units
-
setHighUnits
Set the high units.- Parameters:
expr
- the high units expression
-
getLowUnits
Return the lowest number of units that a cache is pruned down to when pruning takes place. A pruning does not necessarily result in a cache containing this number of units, however a pruning never results in a cache containing less than this number of units. An entry is the unit of measurement, unless it is overridden by an alternate unit-calculator. When pruning occurs entries continue to be evicted according to the eviction policy until this size. Legal values are positive integers or zero. Zero implies the default. The default value is 75% of the high-units setting (that is, for a high-units setting of 1000 the default low-units is 750).- Parameters:
resolver
- the ParameterResolver- Returns:
- the low units
-
setLowUnits
Set the low units.- Parameters:
expr
- the low units
-
isPreLoad
Return true if a cache pre-loads data from its CacheLoader.- Parameters:
resolver
- the ParameterResolver- Returns:
- true if pre-load is enabled
-
setPreLoad
Set the pre-load enabled flag.- Parameters:
expr
- true to enable pre-load
-
getUnitCalculatorBuilder
Return the UnitCalculatorBuilder used to build a UnitCalculator.- Returns:
- the unit calculator
-
setUnitCalculatorBuilder
Set the UnitCalculatorBuilder.- Parameters:
builder
- the UnitCalculatorBuilder
-
getUnitFactor
Return the unit-factor element specifies the factor by which the units, low-units and high-units properties are adjusted. Using a BINARY unit calculator, for example, the factor of 1048576 could be used to count megabytes instead of bytes.- Parameters:
resolver
- the ParameterResolver- Returns:
- the unit factor
-
setUnitFactor
Set the unit factor.- Parameters:
expr
- the unit factor expression
-
validate
Validate the properties.- Overrides:
validate
in classAbstractCachingScheme
- Parameters:
resolver
- the ParameterResolver needed to resolve expressions
-