public class ClassScheme extends AbstractLocalCachingScheme<Object> implements ParameterizedBuilder<Object>, ParameterizedBuilder.ReflectionSupport
ClassScheme class is responsible for building custom CachingSchemes and
custom CacheStoreSchemes.
Note: The ParameterizedBuilder interface is needed by both
CacheStoreScheme and ElementProcessorHelper.
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
String.class named "cache-name")
ClassLoader (optionally named "class-loader")
ResourceRegistry
CacheConfig
ResourceRegistry provided by the
ConfigurableCacheFactory.
InjectableParameterizedBuilder.ReflectionSupportMapBuilder.Dependenciesm_serviceDependenciesDELIM_APPLICATION_SCOPE, DELIM_DOMAIN_PARTITION| Constructor and Description |
|---|
ClassScheme() |
| Modifier and Type | Method and Description |
|---|---|
List<NamedEventInterceptorBuilder> |
getEventInterceptorBuilders()
|
String |
getServiceType()
Return the service type.
|
boolean |
isRunningClusterNeeded()
Return true if a running cluster is needed before using a service.
|
Object |
realize(com.tangosol.config.expression.ParameterResolver resolver,
ClassLoader loader,
ParameterList listParameters)
Realizes (creates if necessary) an instance of a object of type T, using the provided
ParameterResolver
to resolve values any referenced Parameters. |
NamedCache |
realizeCache(com.tangosol.config.expression.ParameterResolver resolver,
MapBuilder.Dependencies dependencies)
Realizes a
NamedCache (possibly "ensuring it") based on the state
of the builder, the provided ParameterResolver and MapBuilder
dependencies. |
Map |
realizeMap(com.tangosol.config.expression.ParameterResolver resolver,
MapBuilder.Dependencies dependencies)
Realize a
Map based on the state of the MapBuilder,
resolvable parameters and provided MapBuilder.Dependencies. |
boolean |
realizes(Class<?> clzClass,
com.tangosol.config.expression.ParameterResolver resolver,
ClassLoader loader)
Determines if the
ParameterizedBuilder will realize an instance of the specified class (without
requiring the builder to actually realize an object). |
protected void |
validate()
Validate the ClassScheme properties.
|
getCustomBuilder, setCustomBuilderestablishMapListeners, getDefaultParameterResolver, getListenerBuilder, realizeBackingMapManager, setListenerBuilder, validategetDefaultServiceName, getScopedServiceName, getScopeName, getServiceBuilder, getServiceDependencies, getServiceName, getXml, injectScopeNameIntoService, isAutoStart, realizeService, setAutoStart, setScopeName, setServiceDependencies, setServiceName, setXmlgetSchemeName, isAnonymous, setSchemeNameclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetScopedServiceName, getServiceBuilder, getServiceName, isAutoStartgetSchemeName, isAnonymouspublic String getServiceType()
getServiceType in interface ServiceSchemegetServiceType in class AbstractLocalCachingScheme<Object>public List<NamedEventInterceptorBuilder> getEventInterceptorBuilders()
List of NamedEventInterceptorBuilders that have been
defined for the ServiceScheme.
Note: For those ServiceSchemes don't support event interceptors,
the returned value must be an empty list.
getEventInterceptorBuilders in interface ServiceSchemegetEventInterceptorBuilders in class AbstractLocalCachingScheme<Object>List over NamedEventInterceptorBuilderspublic boolean isRunningClusterNeeded()
isRunningClusterNeeded in interface ServiceBuilderisRunningClusterNeeded in class AbstractLocalCachingScheme<Object>true if a running cluster is needed before using a servicepublic NamedCache realizeCache(com.tangosol.config.expression.ParameterResolver resolver, MapBuilder.Dependencies dependencies)
NamedCache (possibly "ensuring it") based on the state
of the builder, the provided ParameterResolver and MapBuilder
dependencies.
The MapBuilder dependencies are required to satisfy the requirement
when realizing a NamedCache additionally involves realizing one
or more internal Maps.
realizeCache in interface NamedCacheBuilderrealizeCache in class AbstractCachingSchemeresolver - the ParameterResolverdependencies - the MapBuilder dependenciesNamedCachepublic Map realizeMap(com.tangosol.config.expression.ParameterResolver resolver, MapBuilder.Dependencies dependencies)
Map based on the state of the MapBuilder,
resolvable parameters and provided MapBuilder.Dependencies.realizeMap in interface MapBuilderrealizeMap in class AbstractCachingSchemeresolver - the ParameterResolverdependencies - the MapBuilder.Dependencies for realizing the MapMappublic Object realize(com.tangosol.config.expression.ParameterResolver resolver, ClassLoader loader, ParameterList listParameters)
ParameterResolver
to resolve values any referenced Parameters.realize in interface ParameterizedBuilder<Object>resolver - the ParameterResolver for resolving named Parametersloader - the ClassLoader for loading any necessary classes and if null the
ClassLoader used to load the builder will be used insteadlistParameters - an optional ParameterList (may be null) to be used for realizing the
instance, eg: used as constructor parameterspublic boolean realizes(Class<?> clzClass, com.tangosol.config.expression.ParameterResolver resolver, ClassLoader loader)
ParameterizedBuilder will realize an instance of the specified class (without
requiring the builder to actually realize an object).
This method is synonymous with the Java keyword instanceof but allows dynamic runtime type
querying of the types of objects a builder may realize.
realizes in interface ParameterizedBuilder.ReflectionSupportclzClass - the expected typeresolver - the ParameterResolver to use for resolving necessary Parametersloader - the ClassLoader for loading any necessary classes and if null the
ClassLoader used to load the builder will be used insteadtrue if the ParameterizedBuilder will realize an instance of the class,
false otherwiseprotected void validate()
validate in class AbstractScheme