org.apache.avro.ipc.specific

## Class SpecificRequestor

- java.lang.Object
- - org.apache.avro.ipc.Requestor
  - - org.apache.avro.ipc.specific.SpecificRequestor

All Implemented Interfaces:
  InvocationHandler

Direct Known Subclasses:
  ReflectRequestor

    public class SpecificRequestor
    extends Requestor
    implements InvocationHandler

`Requestor` for generated interfaces.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.avro.ipc.Requestor

`Requestor.TransceiverCallback<T>`

### Field Summary

### Fields inherited from class org.apache.avro.ipc.Requestor

`rpcMetaPlugins`

### Constructor Summary

Constructors
`` `SpecificRequestor(Class<?> iface, Transceiver transceiver)`
`` `SpecificRequestor(Class<?> iface, Transceiver transceiver, org.apache.avro.specific.SpecificData data)`
`protected` `SpecificRequestor(org.apache.avro.Protocol protocol, Transceiver transceiver)`
`` `SpecificRequestor(org.apache.avro.Protocol protocol, Transceiver transceiver, org.apache.avro.specific.SpecificData data)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
`static <T> T` `getClient(Class<T> iface, SpecificRequestor requestor)` Create a proxy instance whose methods invoke RPCs.
`static <T> T` `getClient(Class<T> iface, Transceiver transceiver)` Create a proxy instance whose methods invoke RPCs.
`static <T> T` `getClient(Class<T> iface, Transceiver transceiver, org.apache.avro.specific.SpecificData data)` Create a proxy instance whose methods invoke RPCs.
`protected org.apache.avro.io.DatumReader<Object>` `getDatumReader(org.apache.avro.Schema schema)` Deprecated.
`protected org.apache.avro.io.DatumReader<Object>` `getDatumReader(org.apache.avro.Schema writer, org.apache.avro.Schema reader)`
`protected org.apache.avro.io.DatumWriter<Object>` `getDatumWriter(org.apache.avro.Schema schema)`
`static org.apache.avro.Protocol` `getRemote(Object proxy)` Return the remote protocol for a proxy.
`org.apache.avro.specific.SpecificData` `getSpecificData()`
`Object` `invoke(Object proxy, Method method, Object[] args)`
`Exception` `readError(org.apache.avro.Schema writer, org.apache.avro.Schema reader, org.apache.avro.io.Decoder in)` Reads an error message.
`Object` `readResponse(org.apache.avro.Schema writer, org.apache.avro.Schema reader, org.apache.avro.io.Decoder in)` Reads a response message.
`void` `writeRequest(org.apache.avro.Schema schema, Object request, org.apache.avro.io.Encoder out)` Writes a request message.

### Methods inherited from class org.apache.avro.ipc.Requestor

`addRPCPlugin, getLocal, getRemote, getTransceiver, readError, readResponse, request, request`

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

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

### Constructor Detail

#### SpecificRequestor

    public SpecificRequestor(Class<?> iface,
                             Transceiver transceiver)
                      throws IOException

Throws:
  `IOException`

#### SpecificRequestor

    protected SpecificRequestor(org.apache.avro.Protocol protocol,
                                Transceiver transceiver)
                         throws IOException

Throws:
  `IOException`

#### SpecificRequestor

    public SpecificRequestor(Class<?> iface,
                             Transceiver transceiver,
                             org.apache.avro.specific.SpecificData data)
                      throws IOException

Throws:
  `IOException`

#### SpecificRequestor

    public SpecificRequestor(org.apache.avro.Protocol protocol,
                             Transceiver transceiver,
                             org.apache.avro.specific.SpecificData data)
                      throws IOException

Throws:
  `IOException`

### Method Detail

#### getSpecificData

    public org.apache.avro.specific.SpecificData getSpecificData()

#### invoke

    public Object invoke(Object proxy,
                         Method method,
                         Object[] args)
                  throws Throwable

Specified by:
  `invoke` in interface `InvocationHandler`
Throws:
  `Throwable`

#### getDatumWriter

    protected org.apache.avro.io.DatumWriter<Object> getDatumWriter(org.apache.avro.Schema schema)

#### getDatumReader

    @Deprecated
    protected org.apache.avro.io.DatumReader<Object> getDatumReader(org.apache.avro.Schema schema)

Deprecated.

#### getDatumReader

    protected org.apache.avro.io.DatumReader<Object> getDatumReader(org.apache.avro.Schema writer,
                                                                    org.apache.avro.Schema reader)

#### writeRequest

    public void writeRequest(org.apache.avro.Schema schema,
                             Object request,
                             org.apache.avro.io.Encoder out)
                      throws IOException

Description copied from class: `Requestor`
Writes a request message.

Specified by:
  `writeRequest` in class `Requestor`
Throws:
  `IOException`

#### readResponse

    public Object readResponse(org.apache.avro.Schema writer,
                               org.apache.avro.Schema reader,
                               org.apache.avro.io.Decoder in)
                        throws IOException

Description copied from class: `Requestor`
Reads a response message.

Specified by:
  `readResponse` in class `Requestor`
Throws:
  `IOException`

#### readError

    public Exception readError(org.apache.avro.Schema writer,
                               org.apache.avro.Schema reader,
                               org.apache.avro.io.Decoder in)
                        throws IOException

Description copied from class: `Requestor`
Reads an error message.

Specified by:
  `readError` in class `Requestor`
Throws:
  `IOException`

#### getClient

    public static <T> T getClient(Class<T> iface,
                                  Transceiver transceiver)
                           throws IOException

Create a proxy instance whose methods invoke RPCs.

Throws:
  `IOException`

#### getClient

    public static <T> T getClient(Class<T> iface,
                                  Transceiver transceiver,
                                  org.apache.avro.specific.SpecificData data)
                           throws IOException

Create a proxy instance whose methods invoke RPCs.

Throws:
  `IOException`

#### getClient

    public static <T> T getClient(Class<T> iface,
                                  SpecificRequestor requestor)
                           throws IOException

Create a proxy instance whose methods invoke RPCs.

Throws:
  `IOException`

#### getRemote

    public static org.apache.avro.Protocol getRemote(Object proxy)
                                              throws IOException

Return the remote protocol for a proxy.

Throws:
  `IOException`