org.apache.avro.reflect
Class ReflectRequestor

java.lang.Object
  extended by org.apache.avro.ipc.Requestor
      extended by org.apache.avro.reflect.ReflectRequestor
All Implemented Interfaces:
InvocationHandler
Direct Known Subclasses:
SpecificRequestor

public class ReflectRequestor
extends Requestor
implements InvocationHandler

A Requestor for existing interfaces via Java reflection.


Field Summary
 
Fields inherited from class org.apache.avro.ipc.Requestor
rpcMetaPlugins
 
Constructor Summary
  ReflectRequestor(Class<?> iface, Transceiver transceiver)
           
  ReflectRequestor(Class<?> iface, Transceiver transceiver, ReflectData reflectData)
           
protected ReflectRequestor(Protocol protocol, Transceiver transceiver)
           
protected ReflectRequestor(Protocol protocol, Transceiver transceiver, ReflectData reflectData)
           
 
Method Summary
static Object getClient(Class<?> iface, ReflectRequestor rreq)
          Create a proxy instance whose methods invoke RPCs.
static Object getClient(Class<?> iface, Transceiver transciever)
          Create a proxy instance whose methods invoke RPCs.
static Object getClient(Class<?> iface, Transceiver transciever, ReflectData reflectData)
          Create a proxy instance whose methods invoke RPCs.
protected  DatumReader<Object> getDatumReader(Schema schema)
           
protected  DatumWriter<Object> getDatumWriter(Schema schema)
           
 Object invoke(Object proxy, Method method, Object[] args)
           
 AvroRemoteException readError(Schema schema, Decoder in)
          Reads an error message.
 Object readResponse(Schema schema, Decoder in)
          Reads a response message.
 void writeRequest(Schema schema, Object request, Encoder out)
          Writes a request message.
 
Methods inherited from class org.apache.avro.ipc.Requestor
addRPCPlugin, getLocal, getRemote, getTransceiver, request
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReflectRequestor

public ReflectRequestor(Class<?> iface,
                        Transceiver transceiver)
                 throws IOException
Throws:
IOException

ReflectRequestor

protected ReflectRequestor(Protocol protocol,
                           Transceiver transceiver)
                    throws IOException
Throws:
IOException

ReflectRequestor

public ReflectRequestor(Class<?> iface,
                        Transceiver transceiver,
                        ReflectData reflectData)
                 throws IOException
Throws:
IOException

ReflectRequestor

protected ReflectRequestor(Protocol protocol,
                           Transceiver transceiver,
                           ReflectData reflectData)
                    throws IOException
Throws:
IOException
Method Detail

invoke

public Object invoke(Object proxy,
                     Method method,
                     Object[] args)
              throws Throwable
Specified by:
invoke in interface InvocationHandler
Throws:
Throwable

getDatumWriter

protected DatumWriter<Object> getDatumWriter(Schema schema)

getDatumReader

protected DatumReader<Object> getDatumReader(Schema schema)

writeRequest

public void writeRequest(Schema schema,
                         Object request,
                         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(Schema schema,
                           Decoder in)
                    throws IOException
Description copied from class: Requestor
Reads a response message.

Specified by:
readResponse in class Requestor
Throws:
IOException

readError

public AvroRemoteException readError(Schema schema,
                                     Decoder in)
                              throws IOException
Description copied from class: Requestor
Reads an error message.

Specified by:
readError in class Requestor
Throws:
IOException

getClient

public static Object getClient(Class<?> iface,
                               Transceiver transciever)
                        throws IOException
Create a proxy instance whose methods invoke RPCs.

Throws:
IOException

getClient

public static Object getClient(Class<?> iface,
                               Transceiver transciever,
                               ReflectData reflectData)
                        throws IOException
Create a proxy instance whose methods invoke RPCs.

Throws:
IOException

getClient

public static Object getClient(Class<?> iface,
                               ReflectRequestor rreq)
                        throws IOException
Create a proxy instance whose methods invoke RPCs.

Throws:
IOException


Copyright © 2009 The Apache Software Foundation