RegionConfig (Apache Geode 1.9.2)
Date: 2019-10-15

org.apache.geode.cache.configuration

## Class RegionConfig

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

- All Implemented Interfaces:
    Serializable, CacheElement, Identifiable<String>, RestfulEndpoint

      @Experimental
      public class RegionConfig
      extends Object
      implements CacheElement, RestfulEndpoint

  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 value of the any property.
    `String` | `getEndpoint()` this needs to return the uri portion after the /geode-management/v2
    `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 value of the region property.
    `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(RegionShortcut regionShortcut)` Sets the value of the type 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

      `exists, findElement, removeElement`

- - ### 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

    - #### getEndpoint

          public String getEndpoint()

      Description copied from interface: `RestfulEndpoint`
      this needs to return the uri portion after the /geode-management/v2
      Specified by:
        `getEndpoint` in interface `RestfulEndpoint`
      Returns:
        e.g. /regions

    - #### 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.

      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 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

    - #### getRegions

          public 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 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(RegionShortcut regionShortcut)

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

    - #### 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.