RegionConfig (Apache Geode 1.13.3)
Date: 2021-06-22

org.apache.geode.cache.configuration

## Class RegionConfig

- java.lang.Object
- - org.apache.geode.cache.configuration.RegionConfig

- All Implemented Interfaces:
    Serializable, Identifiable<String>

      @Experimental
      public class RegionConfig
      extends Object
      implements Identifiable<String>, Serializable

  A "region" element describes a region (and its entries) in Geode distributed cache. It may be used to create a new region or may be used to add new entries to an existing region. Note that the "name" attribute specifies the simple name of the region; it cannot contain a "/". If "refid" is set then it defines the default region attributes to use for this region. A nested "region-attributes" element can override these defaults. If the nested "region-attributes" element has its own "refid" then it will cause the "refid" on the region to be ignored. "refid" can be set to the name of a RegionShortcut or a ClientRegionShortcut (see the javadocs of those enum classes for their names).

  Java class for region-type complex type.

  The following schema fragment specifies the expected content contained within this class.

       <complexType name="region-type">
         <complexContent>
           <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             <sequence>
               <element name="region-attributes" type="{http://geode.apache.org/schema/cache}region-attributes-type" maxOccurs="unbounded" minOccurs="0"/>
               <element name="index" maxOccurs="unbounded" minOccurs="0">
                 <complexType>
                   <complexContent>
                     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                       <choice minOccurs="0">
                         <element name="functional">
                           <complexType>
                             <complexContent>
                               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                                 <attribute name="expression" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
                                 <attribute name="from-clause" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
                                 <attribute name="imports" type="{http://www.w3.org/2001/XMLSchema}string" />
                               </restriction>
                             </complexContent>
                           </complexType>
                         </element>
                         <element name="primary-key">
                           <complexType>
                             <complexContent>
                               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                                 <attribute name="field" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
                               </restriction>
                             </complexContent>
                           </complexType>
                         </element>
                       </choice>
                       <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
                       <attribute name="expression" type="{http://www.w3.org/2001/XMLSchema}string" />
                       <attribute name="from-clause" type="{http://www.w3.org/2001/XMLSchema}string" />
                       <attribute name="imports" type="{http://www.w3.org/2001/XMLSchema}string" />
                       <attribute name="key-index" type="{http://www.w3.org/2001/XMLSchema}boolean" />
                       <attribute name="type" default="range">
                         <simpleType>
                           <restriction base="{http://www.w3.org/2001/XMLSchema}string">
                             <enumeration value="range"/>
                             <enumeration value="hash"/>
                           </restriction>
                         </simpleType>
                       </attribute>
                     </restriction>
                   </complexContent>
                 </complexType>
               </element>
               <element name="entry" maxOccurs="unbounded" minOccurs="0">
                 <complexType>
                   <complexContent>
                     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                       <sequence>
                         <element name="key">
                           <complexType>
                             <complexContent>
                               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                                 <choice>
                                   <element name="string" type="{http://geode.apache.org/schema/cache}string-type"/>
                                   <element name="declarable" type="{http://geode.apache.org/schema/cache}declarable-type"/>
                                 </choice>
                               </restriction>
                             </complexContent>
                           </complexType>
                         </element>
                         <element name="value">
                           <complexType>
                             <complexContent>
                               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                                 <choice>
                                   <element name="string" type="{http://geode.apache.org/schema/cache}string-type"/>
                                   <element name="declarable" type="{http://geode.apache.org/schema/cache}declarable-type"/>
                                 </choice>
                               </restriction>
                             </complexContent>
                           </complexType>
                         </element>
                       </sequence>
                     </restriction>
                   </complexContent>
                 </complexType>
               </element>
               <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
               <element name="region" type="{http://geode.apache.org/schema/cache}region-type" maxOccurs="unbounded" minOccurs="0"/>
             </sequence>
             <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
             <attribute name="refid" type="{http://www.w3.org/2001/XMLSchema}string" />
           </restriction>
         </complexContent>
       </complexType>

  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `RegionConfig.Entry` Java class for anonymous complex type.
    `static class` | `RegionConfig.Index` Java class for anonymous complex type.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected List<RegionConfig.Entry>` | `entries`
    `protected List<RegionConfig.Index>` | `indexes`
    `protected String` | `name`
    `protected RegionAttributesType` | `regionAttributes`
    `protected List<CacheElement>` | `regionElements`
    `protected List<RegionConfig>` | `regions`
    `protected String` | `type`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RegionConfig()`
    `RegionConfig(String name, String refid)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<CacheElement>` | `getCustomRegionElements()` Gets the list of custom region elements Currently, users can not create regions with custom region elements using management v2 api.
    `List<RegionConfig.Entry>` | `getEntries()` Gets the value of the entry property.
    `String` | `getId()` Gets the identifier uniquely identifying this Object instance.
    `List<RegionConfig.Index>` | `getIndexes()` Gets the value of the index property.
    `String` | `getName()` Gets the value of the name property.
    `RegionAttributesType` | `getRegionAttributes()`
    `List<RegionConfig>` | `getRegions()` Gets the list of the sub regions Currently, users can not create regions with sub regions using management v2 api.
    `String` | `getType()` Gets the value of the type property.
    `void` | `setName(String value)` Sets the value of the name property.
    `void` | `setRegionAttributes(RegionAttributesType regionAttributes)`
    `void` | `setType(RegionType regionType)` Sets the value of the type property.
    `void` | `setType(String regionType)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.geode.lang.Identifiable

      `exists, find, remove`

- - ### Field Detail

    - #### regionAttributes

          protected RegionAttributesType regionAttributes

    - #### indexes

          protected List<RegionConfig.Index> indexes

    - #### entries

          protected List<RegionConfig.Entry> entries

    - #### regionElements

          protected List<CacheElement> regionElements

    - #### regions

          protected List<RegionConfig> regions

    - #### name

          protected String name

    - #### type

          protected String type

  - ### Constructor Detail

    - #### RegionConfig

          public RegionConfig()

    - #### RegionConfig

          public RegionConfig(String name,
                              String refid)

  - ### Method Detail

    - #### getRegionAttributes

          public RegionAttributesType getRegionAttributes()

    - #### setRegionAttributes

          public void setRegionAttributes(RegionAttributesType regionAttributes)

    - #### getIndexes

          public List<RegionConfig.Index> getIndexes()

      Gets the value of the index property.

      This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is not a `set` method for the index property.

      For example, to add a new item, do as follows:

           getIndexes().add(newItem);

      Objects of the following type(s) are allowed in the list `RegionConfig.Index`

    - #### getEntries

          public List<RegionConfig.Entry> getEntries()

      Gets the value of the entry property. Currently, users can not create regions with initial entries using management v2 api. this entry list will be ignored when creating the region

    - #### getCustomRegionElements

          public List<CacheElement> getCustomRegionElements()

      Gets the list of custom region elements Currently, users can not create regions with custom region elements using management v2 api. this cache element list will be ignored when creating the region

    - #### getRegions

          public List<RegionConfig> getRegions()

      Gets the list of the sub regions Currently, users can not create regions with sub regions using management v2 api. This sub region list will be ignored when creating the region.

    - #### getName

          public String getName()

      Gets the value of the name property. possible object is `String`

    - #### setName

          public void setName(String value)
                       throws IllegalArgumentException

      Sets the value of the name property. allowed object is `String`
      Throws:
        `IllegalArgumentException`

    - #### getType

          public String getType()

      Gets the value of the type property. possible object is `String`

    - #### setType

          public void setType(RegionType regionType)

      Sets the value of the type property. allowed object is `String`

    - #### setType

          public void setType(String regionType)

    - #### getId

          public String getId()

      Description copied from interface: `Identifiable`
      Gets the identifier uniquely identifying this Object instance.

      Specified by:
        `getId` in interface `Identifiable<String>`
      Returns:
        an identifier uniquely identifying this Object.