Class IndexConfiguration
java.lang.Object
org.springframework.data.gemfire.config.annotation.support.AbstractAnnotationConfigSupport
org.springframework.data.gemfire.config.annotation.EntityDefinedRegionsConfiguration
org.springframework.data.gemfire.config.annotation.IndexConfiguration
- All Implemented Interfaces:
Aware
,BeanClassLoaderAware
,BeanFactoryAware
,ImportBeanDefinitionRegistrar
,EnvironmentAware
The
IndexConfiguration
class is a Spring ImportBeanDefinitionRegistrar
and extension of EntityDefinedRegionsConfiguration
used in the EnableIndexing
annotation
to dynamically create GemFire/Geode Region
Indexes
based on
GemfirePersistentEntity
GemfirePersistentProperty
annotations.- Since:
- 1.9.0
- Author:
- John Blum
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.data.gemfire.config.annotation.EntityDefinedRegionsConfiguration
EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata
Nested classes/interfaces inherited from class org.springframework.data.gemfire.config.annotation.support.AbstractAnnotationConfigSupport
AbstractAnnotationConfigSupport.TypeResolver<T>
-
Field Summary
Fields inherited from class org.springframework.data.gemfire.config.annotation.EntityDefinedRegionsConfiguration
DEFAULT_CLIENT_REGION_SHORTCUT, DEFAULT_SERVER_REGION_SHORTCUT
Fields inherited from class org.springframework.data.gemfire.config.annotation.support.AbstractAnnotationConfigSupport
INFRASTRUCTURE_ROLES, ORG_SPRINGFRAMEWORK_DATA_GEMFIRE_PACKAGE, ORG_SPRINGFRAMEWORK_PACKAGE, SPRING_DATA_GEMFIRE_PROPERTY_PREFIX
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected Class<? extends Annotation>
Returns theAnnotation
type
that configures and createsRegion
Indexes from application persistent entity properties.protected String
Returns the name of theAnnotation
type
that configures and createsRegion
Indexes from application persistent entity properties.protected String
Returns the simple name of theAnnotation
type
that configures and createsRegion
Indexes from application persistent entity properties.protected GemfirePersistentEntity<?>
postProcess
(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, GemfirePersistentEntity<?> persistentEntity) Performs addition post processing on theGemfirePersistentEntity
to offer additional feature support (e.g. dynamic Index creation).protected void
registerIndexBeanDefinition
(AnnotationAttributes enableIndexingAttributes, GemfirePersistentEntity<?> persistentEntity, GemfirePersistentProperty persistentProperty, IndexType indexType, Annotation indexAnnotation, BeanDefinitionRegistry registry) Registers an Index of the givenIndexType
for theGemfirePersistentProperty
on theGemfirePersistentEntity
using theAnnotation
meta-data to define the Index.protected void
registerLuceneIndexBeanDefinition
(AnnotationAttributes enableIndexingAttributes, GemfirePersistentEntity<?> persistentEntity, GemfirePersistentProperty persistentProperty, Annotation luceneIndexAnnotation, BeanDefinitionRegistry registry) Registers aLuceneIndex
for theGemfirePersistentProperty
on theGemfirePersistentEntity
using theAnnotation
meta-data to define the Index.Methods inherited from class org.springframework.data.gemfire.config.annotation.EntityDefinedRegionsConfiguration
getAnnotationType, getPersistentEntity, newGemFireComponentClassTypeScanner, registerBeanDefinitions, registerRegionBeanDefinition, resolveBasePackages, resolveClientRegionShortcut, resolveExcludes, resolveIncludes, resolveMappingContext, resolveRegionAnnotatedPersistentEntityTypeFilters, resolveRegionConfigurers, resolveServerRegionShortcut, setClientRegionAttributes, setFixedPartitionRegionAttributes, setPartitionRegionAttributes, setRegionAttributes, setReplicateRegionAttributes
Methods inherited from class org.springframework.data.gemfire.config.annotation.support.AbstractAnnotationConfigSupport
arrayOfPropertyNamesFor, arrayOfPropertyNamesFor, asArrayProperty, cacheClientProperty, cacheCompressionProperty, cacheOffHeapProperty, cachePeerProperty, cacheProperty, cacheServerProperty, clusterProperty, diskStoreProperty, entitiesProperty, gatewayReceiverProperty, gatewaySenderProperty, getAnnotationAttributes, getAnnotationAttributes, getAnnotationAttributes, getAnnotationTypeName, getAnnotationTypeSimpleName, getBeanClassLoader, getBeanFactory, getEnvironment, getEvaluationContext, getLog, hasValue, hasValue, hasValue, httpServiceProperty, isAnnotationPresent, isAnnotationPresent, isNotInfrastructureBean, isNotInfrastructureBean, isNotInfrastructureClass, isNotInfrastructureClass, isNotInfrastructureRole, isUserLevelMethod, locatorProperty, logDebug, logDebug, logError, logError, loggingProperty, logInfo, logInfo, logWarning, logWarning, managementProperty, managerProperty, memcachedServiceProperty, namedCacheServerProperty, namedDiskStoreProperty, namedGatewaySenderProperty, namedPoolProperty, newEvaluationContext, newLog, pdxProperty, poolProperty, propertyName, redisServiceProperty, register, register, requireProperty, resolveAnnotation, resolveBeanClass, resolveBeanClass, resolveBeanClass, resolveBeanClassLoader, resolveBeanClassLoader, resolveBeanClassName, resolveProperty, resolveProperty, resolveProperty, resolveProperty, resolveProperty, resolveProperty, resolveProperty, resolveProperty, safeResolveType, securityProperty, serviceProperty, setBeanClassLoader, setBeanFactory, setEnvironment, sslProperty, statsProperty
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.context.annotation.ImportBeanDefinitionRegistrar
registerBeanDefinitions
-
Constructor Details
-
IndexConfiguration
public IndexConfiguration()
-
-
Method Details
-
getEnableIndexingAnnotationType
Returns theAnnotation
type
that configures and createsRegion
Indexes from application persistent entity properties.- Returns:
- the
Annotation
type
that configures and createsRegion
Indexes from application persistent entity properties. - See Also:
-
getEnableIndexingAnnotationTypeName
Returns the name of theAnnotation
type
that configures and createsRegion
Indexes from application persistent entity properties.- Returns:
- the name of the
Annotation
type
that configures and createsRegion
Indexes from application persistent entity properties. - See Also:
-
getEnableIndexingAnnotationTypeSimpleName
Returns the simple name of theAnnotation
type
that configures and createsRegion
Indexes from application persistent entity properties.- Returns:
- the simple name of the
Annotation
type
that configures and createsRegion
Indexes from application persistent entity properties. - See Also:
-
postProcess
protected GemfirePersistentEntity<?> postProcess(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, GemfirePersistentEntity<?> persistentEntity) Description copied from class:EntityDefinedRegionsConfiguration
Performs addition post processing on theGemfirePersistentEntity
to offer additional feature support (e.g. dynamic Index creation).- Overrides:
postProcess
in classEntityDefinedRegionsConfiguration
- Parameters:
importingClassMetadata
-AnnotationMetadata
for the importing application class.registry
-BeanDefinitionRegistry
used to register Spring bean definitions.persistentEntity
-GemfirePersistentEntity
to process.- Returns:
- the given
GemfirePersistentEntity
. - See Also:
-
registerIndexBeanDefinition
protected void registerIndexBeanDefinition(AnnotationAttributes enableIndexingAttributes, GemfirePersistentEntity<?> persistentEntity, GemfirePersistentProperty persistentProperty, IndexType indexType, Annotation indexAnnotation, BeanDefinitionRegistry registry) Registers an Index of the givenIndexType
for theGemfirePersistentProperty
on theGemfirePersistentEntity
using theAnnotation
meta-data to define the Index.- Parameters:
enableIndexingAttributes
-AnnotationAttributes
containing meta-data for theEnableIndexing
annotation.persistentEntity
-GemfirePersistentEntity
containing theGemfirePersistentProperty
to be indexed.persistentProperty
-GemfirePersistentProperty
for which the Index will be created.indexType
-IndexType
enum specifying the Index type (e.g. KEY, HASH, etc).indexAnnotation
- IndexAnnotation
.registry
-BeanDefinitionRegistry
used to register the Index bean definition.- See Also:
-
registerLuceneIndexBeanDefinition
protected void registerLuceneIndexBeanDefinition(AnnotationAttributes enableIndexingAttributes, GemfirePersistentEntity<?> persistentEntity, GemfirePersistentProperty persistentProperty, Annotation luceneIndexAnnotation, BeanDefinitionRegistry registry) Registers aLuceneIndex
for theGemfirePersistentProperty
on theGemfirePersistentEntity
using theAnnotation
meta-data to define the Index.- Parameters:
enableIndexingAttributes
-AnnotationAttributes
containing meta-data for theEnableIndexing
annotation.persistentEntity
-GemfirePersistentEntity
containing theGemfirePersistentProperty
to be indexed.persistentProperty
-GemfirePersistentProperty
for which theLuceneIndex
will be created.luceneIndexAnnotation
-LuceneIndexed
Annotation
.registry
-BeanDefinitionRegistry
used to register theLuceneIndex
bean definition.- See Also:
-