org.apache.geode.experimental.driver

## Interface Driver

- All Known Implementing Classes:
    ProtobufDriver

      @Experimental
      public interface Driver

  Defines the behaviors of a driver for communicating with a GemFire server by way of the new protocol. This code is an experimental prototype and is presented "as is" with no warranty, suitability, or fitness of purpose implied.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Close this Driver, rendering it useless
    `FunctionService` | `getFunctionService()` Creates a new function service or retrieves an extant function service.
    `QueryService` | `getQueryService()` Creates a new query service or retrieves an extant query service.
    `<K,V> Region<K,V>` | `getRegion(java.lang.String regionName)` Creates an implementation of the region interface for the region with the unique name of `regionName`.
    `java.util.Set<java.lang.String>` | `getRegionNames()` Retrieves a set of unique names of regions in the GemFire server to which this driver is connected.
    `boolean` | `isConnected()` Is this driver connected?

- - ### Method Detail

    - #### getRegionNames

          java.util.Set<java.lang.String> getRegionNames()
                                                  throws java.io.IOException

      Retrieves a set of unique names of regions in the GemFire server to which this driver is connected.
      Returns:
        Set of strings of names that uniquely identify regions.
      Throws:
        `java.io.IOException`

    - #### getRegion

          <K,V> Region<K,V> getRegion(java.lang.String regionName)

      Creates an implementation of the region interface for the region with the unique name of `regionName`.
      Type Parameters:
        `K` - Type of region keys.
        `V` - Type of region values.
      Parameters:
        `regionName` - String that uniquely identifies the region.
      Returns:
        the region object

    - #### getQueryService

          QueryService getQueryService()

      Creates a new query service or retrieves an extant query service.
      Returns:
        Query service.

    - #### getFunctionService

          FunctionService getFunctionService()

      Creates a new function service or retrieves an extant function service.
      Returns:
        Function service.

    - #### close

          void close()

      Close this Driver, rendering it useless

    - #### isConnected

          boolean isConnected()

      Is this driver connected?