Use Java reflection to generate schemas and protocols for existing classes.

This API is not recommended except as a stepping stone for systems that currently uses Java interfaces to define RPC protocols. For new RPC systems, the {@link org.apache.avro.specific specific} API is preferred. For systems that process dynamic data, the {@link org.apache.avro.generic generic} API is probably best.

Java types are mapped to Avro schemas as follows:

The {@link org.apache.avro.reflect.Union Union} annotation can be used to support reflection of schemas for interfaces, abstract base classes and other uses of polymorphism.