org.apache.geode.experimental.driver

## Class ProtobufFunction<T>

- java.lang.Object
- - org.apache.geode.experimental.driver.ProtobufFunction<T>

- All Implemented Interfaces:
    Function<T>

      public class ProtobufFunction<T>
      extends java.lang.Object
      implements Function<T>

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ProtobufFunction(java.lang.String functionId, org.apache.geode.experimental.driver.ProtobufChannel channel, org.apache.geode.experimental.driver.ValueEncoder valueEncoder)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.List<T>` | `executeOnGroup(java.lang.Object arguments, java.lang.String... groups)` Executes this function with the specified arguments on the specified groups.
    `java.util.List<T>` | `executeOnMember(java.lang.Object arguments, java.lang.String... members)` Executes this function with the specified arguments on the specified members.
    `java.util.List<T>` | `executeOnRegion(java.lang.Object arguments, java.lang.String regionName, java.lang.Object... keyFilters)` Executes this function with the specified arguments on the specified region.

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

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

- - ### Constructor Detail

    - #### ProtobufFunction

          public ProtobufFunction(java.lang.String functionId,
                                  org.apache.geode.experimental.driver.ProtobufChannel channel,
                                  org.apache.geode.experimental.driver.ValueEncoder valueEncoder)

  - ### Method Detail

    - #### executeOnRegion

          public java.util.List<T> executeOnRegion(java.lang.Object arguments,
                                                   java.lang.String regionName,
                                                   java.lang.Object... keyFilters)
                                            throws java.io.IOException

      Description copied from interface: `Function`
      Executes this function with the specified arguments on the specified region. Keys may be optionally filtered.
      Specified by:
        `executeOnRegion` in interface `Function<T>`
      Parameters:
        `arguments` - Object encapsulating all the arguments to this execution of the function.
        `regionName` - Name of the region.
        `keyFilters` - Optional list of keys.
      Returns:
        Possibly empty list of results from the function.
      Throws:
        `java.io.IOException` - If an error occurred communicating with the distributed system.

    - #### executeOnMember

          public java.util.List<T> executeOnMember(java.lang.Object arguments,
                                                   java.lang.String... members)
                                            throws java.io.IOException

      Description copied from interface: `Function`
      Executes this function with the specified arguments on the specified members.
      Specified by:
        `executeOnMember` in interface `Function<T>`
      Parameters:
        `arguments` - Object encapsulating all the arguments to this execution of the function.
        `members` - Optional list of member names.
      Returns:
        Possibly empty list of results from the function.
      Throws:
        `java.io.IOException` - If an error occurred communicating with the distributed system.

    - #### executeOnGroup

          public java.util.List<T> executeOnGroup(java.lang.Object arguments,
                                                  java.lang.String... groups)
                                           throws java.io.IOException

      Description copied from interface: `Function`
      Executes this function with the specified arguments on the specified groups.
      Specified by:
        `executeOnGroup` in interface `Function<T>`
      Parameters:
        `arguments` - Object encapsulating all the arguments to this execution of the function.
        `groups` - Optional list of group names.
      Returns:
        Possibly empty list of results from the function.
      Throws:
        `java.io.IOException` - If an error occurred communicating with the distributed system.