[
https://issues.apache.org/jira/browse/AVRO-1571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14351149#comment-14351149
]
Sachin Goyal commented on AVRO-1571:
------------------------------------
[~rajiv.a1], I mean to introduce a new class called ParentContext which will
store the parameters passed in from the parents and the grandparents.
It could contain a map of type-name to actual-class-type.
> Support parameterized types in Avro
> -----------------------------------
>
> Key: AVRO-1571
> URL: https://issues.apache.org/jira/browse/AVRO-1571
> Project: Avro
> Issue Type: Bug
> Affects Versions: 1.7.6
> Reporter: Sachin Goyal
>
> The below code cannot be serialized by Avro.
> {code}
> class ParameterTypes {
> Master1 m1;
> Master2 m2;
> Master3<Integer> m3;
> }
> class Foo <P, Q> {
> P p;
> Q q;
> }
> class Master1 {
> Foo <Integer, Long> foo;
> }
> class Master2 {
> Foo <String, String> foo;
> }
> class Master3 <P> {
> Foo <P, P> foo;
> }
> {code}
> This is because when generating the schema, only the current class is used to
> generate the schema. The parent class' context is missing in
> ReflectData#createSchema() functions where the actual type-information is
> present.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)