[ 
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)

Reply via email to