[
https://issues.apache.org/jira/browse/AVRO-1468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thiruvalluvan M. G. updated AVRO-1468:
--------------------------------------
Component/s: java
> implement interface-based code-generation
> -----------------------------------------
>
> Key: AVRO-1468
> URL: https://issues.apache.org/jira/browse/AVRO-1468
> Project: Apache Avro
> Issue Type: New Feature
> Components: java
> Reporter: Doug Cutting
> Priority: Major
>
> The current specific compiler generates a concrete class per record.
> Instead, we might generate an interface per record that might be implemented
> in different ways. Implementations might include:
> - A wrapper for a generic record. This would permit the schema that is
> compiled against to differ from that of the runtime instance. A field that
> was added since code-generation could be retained as records are filtered or
> sorted and re-written.
> - A concrete record. This would be similar to the existing specific.
> - A wrapped POJO. The generated class could wrap a POJO using reflection.
> Aliases could map between the schema used at compilation and that of the
> POJO, so field and class names need not match exactly. This would permit one
> to evolve from a POJO-based Avro application to using generated code without
> breaking existing code.
> This approach was first described in http://s.apache.org/AvroFlex
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)