Class EntityDefinedRegionsConfiguration
java.lang.Object
org.springframework.data.gemfire.config.annotation.support.AbstractAnnotationConfigSupport
org.springframework.data.gemfire.config.annotation.EntityDefinedRegionsConfiguration
- All Implemented Interfaces:
Aware,BeanClassLoaderAware,BeanFactoryAware,ImportBeanDefinitionRegistrar,EnvironmentAware
- Direct Known Subclasses:
IndexConfiguration
public class EntityDefinedRegionsConfiguration
extends AbstractAnnotationConfigSupport
implements ImportBeanDefinitionRegistrar
The
EntityDefinedRegionsConfiguration class is Spring ImportBeanDefinitionRegistrar used in
the EnableEntityDefinedRegions annotation to dynamically create GemFire/Geode Regions
based on the application persistent entity classes.- Since:
- 1.9.0
- Author:
- John Blum
- See Also:
-
ClassLoaderAnnotationRegionBeanDefinitionBeanDefinitionBuilderBeanDefinitionRegistryImportBeanDefinitionRegistrarFixedPartitionAttributesFactoryBeanLocalRegionFactoryBeanPartitionAttributesFactoryBeanPartitionedRegionFactoryBeanRegionAttributesFactoryBeanReplicatedRegionFactoryBeanClientRegionFactoryBeanCacheTypeAwareRegionFactoryBeanGemFireComponentClassTypeScannerGemfireMappingContextGemfirePersistentEntityClientRegionLocalRegionPartitionRegionReplicateRegionRegion
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classTheEntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadataclass encapsulates details for creating aRegionfrom application persistent entities.Nested classes/interfaces inherited from class org.springframework.data.gemfire.config.annotation.support.AbstractAnnotationConfigSupport
AbstractAnnotationConfigSupport.TypeResolver<T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final ClientRegionShortcutprotected static final RegionShortcutFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Class<? extends Annotation>Returns theAnnotationtypethat configures and createsRegionsfor application persistent entities.protected GemfirePersistentEntity<?>getPersistentEntity(Class<?> persistentEntityType) Returns the associatedpersistent entityfor the given application domain object type.protected GemFireComponentClassTypeScannernewGemFireComponentClassTypeScanner(AnnotationMetadata importingClassMetadata, AnnotationAttributes enableEntityDefinedRegionsAttributes) protected GemfirePersistentEntity<?>postProcess(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, GemfirePersistentEntity<?> persistentEntity) Performs addition post processing on theGemfirePersistentEntityto offer additional feature support (e.g. dynamic Index creation).voidregisterBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) RegistersRegionbean definitions in the Spring context for all application domain object that have been identified aspersistent entities.protected voidregisterRegionBeanDefinition(EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata, BeanDefinitionRegistry registry) Registers an individual bean definition in the Spring container for theRegiondetermined from the application domain object,persistent entity.resolveBasePackages(AnnotationMetadata importingClassMetaData, AnnotationAttributes enableEntityDefinedRegionAttributes) protected ClientRegionShortcutresolveClientRegionShortcut(EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata, Annotation regionAnnotation, AnnotationAttributes regionAnnotationAttributes) protected Iterable<TypeFilter>resolveExcludes(AnnotationAttributes enableEntityDefinedRegionsAttributes) protected Iterable<TypeFilter>resolveIncludes(AnnotationAttributes enableEntityDefinedRegionsAttributes) protected GemfireMappingContextResolves themapping contextby returning the configuredmapping contextif present, or attempts to lookup themapping contextfrom the configuredBeanFactory.protected Iterable<TypeFilter>protected List<RegionConfigurer>protected RegionShortcutresolveServerRegionShortcut(EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata, Annotation regionAnnotation, AnnotationAttributes regionAnnotationAttributes) protected BeanDefinitionBuildersetClientRegionAttributes(EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata, AnnotationAttributes regionAnnotationAttributes, BeanDefinitionBuilder regionFactoryBeanBuilder) protected BeanDefinitionBuildersetFixedPartitionRegionAttributes(AnnotationAttributes regionAnnotationAttributes, BeanDefinitionBuilder partitionAttributesFactoryBeanBuilder) protected BeanDefinitionBuildersetPartitionRegionAttributes(EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata, AnnotationAttributes regionAnnotationAttributes, BeanDefinitionBuilder regionFactoryBeanBuilder, BeanDefinitionBuilder regionAttributesFactoryBeanBuilder) protected BeanDefinitionBuildersetRegionAttributes(BeanDefinitionBuilder regionFactoryBeanBuilder, EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata) protected BeanDefinitionBuildersetReplicateRegionAttributes(EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata, AnnotationAttributes regionAnnotationAttributes, BeanDefinitionBuilder regionFactoryBeanBuilder) 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, statsPropertyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.context.annotation.ImportBeanDefinitionRegistrar
registerBeanDefinitions
-
Field Details
-
DEFAULT_CLIENT_REGION_SHORTCUT
-
DEFAULT_SERVER_REGION_SHORTCUT
-
-
Constructor Details
-
EntityDefinedRegionsConfiguration
public EntityDefinedRegionsConfiguration()
-
-
Method Details
-
getAnnotationType
Returns theAnnotationtypethat configures and createsRegionsfor application persistent entities.- Specified by:
getAnnotationTypein classAbstractAnnotationConfigSupport- Returns:
- the
Annotationtypethat configures and createsRegionsfor application persistent entities. - See Also:
-
registerBeanDefinitions
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) RegistersRegionbean definitions in the Spring context for all application domain object that have been identified aspersistent entities.- Specified by:
registerBeanDefinitionsin interfaceImportBeanDefinitionRegistrar- Parameters:
importingClassMetadata-Classwith theEnableEntityDefinedRegionsannotation.registry-BeanDefinitionRegistryused to register theRegionbean definitions in the Spring context.- See Also:
-
newGemFireComponentClassTypeScanner
protected GemFireComponentClassTypeScanner newGemFireComponentClassTypeScanner(AnnotationMetadata importingClassMetadata, AnnotationAttributes enableEntityDefinedRegionsAttributes) -
resolveBasePackages
protected Set<String> resolveBasePackages(AnnotationMetadata importingClassMetaData, AnnotationAttributes enableEntityDefinedRegionAttributes) -
resolveExcludes
protected Iterable<TypeFilter> resolveExcludes(AnnotationAttributes enableEntityDefinedRegionsAttributes) -
resolveIncludes
protected Iterable<TypeFilter> resolveIncludes(AnnotationAttributes enableEntityDefinedRegionsAttributes) -
resolveRegionAnnotatedPersistentEntityTypeFilters
-
getPersistentEntity
Returns the associatedpersistent entityfor the given application domain object type.- Parameters:
persistentEntityType-typeof the application domain object used to lookup thepersistent entityfrom the {@link @GemfireMappingContext mapping context}.- Returns:
- the
persistent entityfor the given application domain object type. - See Also:
-
resolveMappingContext
Resolves themapping contextby returning the configuredmapping contextif present, or attempts to lookup themapping contextfrom the configuredBeanFactory. If the lookup is unsuccessful, then this method will return a newmapping context.- Returns:
- the resolved
mapping context. - See Also:
-
registerRegionBeanDefinition
protected void registerRegionBeanDefinition(EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata, BeanDefinitionRegistry registry) Registers an individual bean definition in the Spring container for theRegiondetermined from the application domain object,persistent entity.- Parameters:
regionMetadata-EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadataused to configure theRegionbean definition.registry-BeanDefinitionRegistryused to register theRegionbean definition in the Spring context.- See Also:
-
resolveRegionConfigurers
-
setRegionAttributes
protected BeanDefinitionBuilder setRegionAttributes(BeanDefinitionBuilder regionFactoryBeanBuilder, EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata) -
resolveClientRegionShortcut
protected ClientRegionShortcut resolveClientRegionShortcut(EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata, Annotation regionAnnotation, AnnotationAttributes regionAnnotationAttributes) -
resolveServerRegionShortcut
protected RegionShortcut resolveServerRegionShortcut(EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata, Annotation regionAnnotation, AnnotationAttributes regionAnnotationAttributes) -
setClientRegionAttributes
protected BeanDefinitionBuilder setClientRegionAttributes(EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata, AnnotationAttributes regionAnnotationAttributes, BeanDefinitionBuilder regionFactoryBeanBuilder) -
setPartitionRegionAttributes
protected BeanDefinitionBuilder setPartitionRegionAttributes(EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata, AnnotationAttributes regionAnnotationAttributes, BeanDefinitionBuilder regionFactoryBeanBuilder, BeanDefinitionBuilder regionAttributesFactoryBeanBuilder) -
setFixedPartitionRegionAttributes
protected BeanDefinitionBuilder setFixedPartitionRegionAttributes(AnnotationAttributes regionAnnotationAttributes, BeanDefinitionBuilder partitionAttributesFactoryBeanBuilder) -
setReplicateRegionAttributes
protected BeanDefinitionBuilder setReplicateRegionAttributes(EntityDefinedRegionsConfiguration.RegionBeanDefinitionMetadata regionMetadata, AnnotationAttributes regionAnnotationAttributes, BeanDefinitionBuilder regionFactoryBeanBuilder) -
postProcess
protected GemfirePersistentEntity<?> postProcess(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, GemfirePersistentEntity<?> persistentEntity) Performs addition post processing on theGemfirePersistentEntityto offer additional feature support (e.g. dynamic Index creation).- Parameters:
importingClassMetadata-AnnotationMetadatafor the importing application class.registry-BeanDefinitionRegistryused to register Spring bean definitions.persistentEntity-GemfirePersistentEntityto process.- Returns:
- the given
GemfirePersistentEntity. - See Also:
-