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
protected  String packageName
           
 
Constructor Summary
protected ReflectRequestor(Protocol protocol, Transceiver transceiver)
           
 
Method Summary
static Object getClient(Class<?> iface, Transceiver transciever)
          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
getLocal, getRemote, getTransceiver, request
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

packageName

protected String packageName
Constructor Detail

ReflectRequestor

protected ReflectRequestor(Protocol protocol,
                           Transceiver transceiver)
                    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


Copyright © 2009 The Apache Software Foundation