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")ConfigurableCacheFactoryString.class named "cache-name")ClassLoader (optionally named "class-loader")ResourceRegistryCacheConfigResourceRegistry 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, validategetScopedServiceName, getScopeName, getServiceBuilder, getServiceDependencies, getServiceName, getXml, injectScopeNameIntoService, isAutoStart, realizeService, setApplicationContext, 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>public 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