Annotation Interface EnableEntityDefinedRegions


@Target(TYPE) @Retention(RUNTIME) @Inherited @Documented @Import(IndexConfiguration.class) public @interface EnableEntityDefinedRegions
The EnableEntityDefinedRegions annotation marks a Spring @Configuration application annotated class to enable the creation of GemFire/Geode Regions based on the application persistent entities.
Since:
1.9.0
Author:
John Blum
See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Class<?>[]
    Type-safe alternative to the basePackages() attribute for specifying the packages to scan for @Region annotated application persistent entities.
    Base packages to scan for @Region annotated application persistent entities.
    When this annotation is applied to a cache client application, the clientRegionShortcut attribute indicates the default data policy applied to client Regions where the persistent entities are only annotated with the generic Region mapping annotation, or the non-data policy specific mapping annotation.
    Specifies which types are not eligible for component scanning.
    Specifies which types are eligible for component scanning.
    When this annotation is applied to a cache client application, the poolName attribute refers to the default name of the GemFire/Geode Pool assigned to client Region(s).
    When this annotation is applied to a peer cache application, the serverRegionShortcut attribute indicates the default data policy applied to server Regions where the persistent entities are only annotated with the generic Region mapping annotation, or the non-data policy specific mapping annotation.
    boolean
    Determines whether the created Region will have strongly-typed key and value constraints based on the ID and Class type of application persistent entity.
    Alias for basePackages() attribute.
  • Element Details

    • value

      @AliasFor(attribute="basePackages") String[] value
      Alias for basePackages() attribute.
      Returns:
      a String array specifying the packages to search for application persistent entities.
      See Also:
      Default:
      {}
    • basePackages

      @AliasFor(attribute="value") String[] basePackages
      Base packages to scan for @Region annotated application persistent entities. The value() attribute is an alias for this attribute. Use basePackageClasses() for a type-safe alternative to String-based package names. Use the spring.data.gemfire.entities.base-packages property in application.properties.
      Returns:
      a String array specifying the packages to search for application persistent entities.
      See Also:
      Default:
      {}
    • basePackageClasses

      Class<?>[] basePackageClasses
      Type-safe alternative to the basePackages() attribute for specifying the packages to scan for @Region annotated application persistent entities. The package of each class specified will be scanned. Consider creating a special no-op marker class or interface in each package that serves no other purpose than being referenced by this attribute.
      Returns:
      an array of classes used to determine the packages to scan for application persistent entities.
      Default:
      {}
    • excludeFilters

      ComponentScan.Filter[] excludeFilters
      Specifies which types are not eligible for component scanning.
      Returns:
      an array of Filters used to specify application persistent entities to be excluded during the component scan.
      Default:
      {}
    • includeFilters

      ComponentScan.Filter[] includeFilters
      Specifies which types are eligible for component scanning. Further narrows the set of candidate components from everything in basePackages() or basePackageClasses() to everything in the base packages that matches the given filter or filters.
      Returns:
      an array ComponentScan.Filter of Filters used to specify application persistent entities to be included during the component scan.
      Default:
      {}
    • clientRegionShortcut

      ClientRegionShortcut clientRegionShortcut
      When this annotation is applied to a cache client application, the clientRegionShortcut attribute indicates the default data policy applied to client Regions where the persistent entities are only annotated with the generic Region mapping annotation, or the non-data policy specific mapping annotation. Defaults to ClientRegionShortcut.PROXY.
      Default:
      PROXY
    • poolName

      String poolName
      When this annotation is applied to a cache client application, the poolName attribute refers to the default name of the GemFire/Geode Pool assigned to client Region(s). This value can be overridden by annotating entities with the ClientRegion annotation. Defaults to DEFAULT.
      Default:
      "DEFAULT"
    • serverRegionShortcut

      RegionShortcut serverRegionShortcut
      When this annotation is applied to a peer cache application, the serverRegionShortcut attribute indicates the default data policy applied to server Regions where the persistent entities are only annotated with the generic Region mapping annotation, or the non-data policy specific mapping annotation. Defaults to RegionShortcut.PARTITION.
      Default:
      PARTITION
    • strict

      boolean strict
      Determines whether the created Region will have strongly-typed key and value constraints based on the ID and Class type of application persistent entity. Defaults to false.
      Default:
      false