org.apache.geode.cache.configuration

## Class RegionConfig

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

- All Implemented Interfaces:
    java.io.Serializable, CacheElement, Identifiable<java.lang.String>

      @Experimental
      public class RegionConfig
      extends java.lang.Object
      implements CacheElement

  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 java.util.List<RegionConfig.Entry>` | `entries`
    `protected java.util.List<RegionConfig.Index>` | `indexes`
    `protected java.lang.String` | `name`
    `protected java.lang.String` | `refid`
    `protected java.util.List<RegionAttributesType>` | `regionAttributes`
    `protected java.util.List<CacheElement>` | `regionElements`
    `protected java.util.List<RegionConfig>` | `regions`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.List<CacheElement>` | `getCustomRegionElements()` Gets the value of the any property.
    `java.util.List<RegionConfig.Entry>` | `getEntries()` Gets the value of the entry property.
    `java.lang.String` | `getId()` Gets the identifier uniquely identifying this Object instance.
    `java.util.List<RegionConfig.Index>` | `getIndexes()` Gets the value of the index property.
    `java.lang.String` | `getName()` Gets the value of the name property.
    `java.lang.String` | `getRefid()` Gets the value of the refid property.
    `java.util.List<RegionAttributesType>` | `getRegionAttributes()` Gets the value of the regionAttributes property.
    `java.util.List<RegionConfig>` | `getRegions()` Gets the value of the region property.
    `void` | `setName(java.lang.String value)` Sets the value of the name property.
    `void` | `setRefid(java.lang.String value)` Sets the value of the refid property.

    - ### 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.cache.configuration.CacheElement

      `findElement, removeElement`

- - ### Field Detail

    - #### regionAttributes

          protected java.util.List<RegionAttributesType> regionAttributes

    - #### indexes

          protected java.util.List<RegionConfig.Index> indexes

    - #### entries

          protected java.util.List<RegionConfig.Entry> entries

    - #### regionElements

          protected java.util.List<CacheElement> regionElements

    - #### regions

          protected java.util.List<RegionConfig> regions

    - #### name

          protected java.lang.String name

    - #### refid

          protected java.lang.String refid

  - ### Constructor Detail

    - #### RegionConfig

          public RegionConfig()

    - #### RegionConfig

          public RegionConfig(java.lang.String name,
                              java.lang.String refid)

  - ### Method Detail

    - #### getRegionAttributes

          public java.util.List<RegionAttributesType> getRegionAttributes()

      Gets the value of the regionAttributes 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 regionAttributes property.

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

           getRegionAttributes().add(newItem);

      Objects of the following type(s) are allowed in the list `RegionAttributesType`

    - #### getIndexes

          public java.util.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 java.util.List<RegionConfig.Entry> getEntries()

      Gets the value of the entry 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 entry property.

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

           getEntries().add(newItem);

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

    - #### getCustomRegionElements

          public java.util.List<CacheElement> getCustomRegionElements()

      Gets the value of the any 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 any property.

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

           getCustomRegionElements().add(newItem);

      Objects of the following type(s) are allowed in the list `Element` `CacheElement`

    - #### getRegions

          public java.util.List<RegionConfig> getRegions()

      Gets the value of the region 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 region property.

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

           getRegions().add(newItem);

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

    - #### getName

          public java.lang.String getName()

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

    - #### setName

          public void setName(java.lang.String value)

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

    - #### getRefid

          public java.lang.String getRefid()

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

    - #### setRefid

          public void setRefid(java.lang.String value)

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

    - #### getId

          public java.lang.String getId()

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

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