Sachin Goyal created AVRO-1568:
----------------------------------

             Summary: Allow Java polymorphism in Avro
                 Key: AVRO-1568
                 URL: https://issues.apache.org/jira/browse/AVRO-1568
             Project: Avro
          Issue Type: New Feature
    Affects Versions: 1.7.6
            Reporter: Sachin Goyal


A large number of Java designs interacting with databases with 
Hibernate/Couchbase (perhaps, even otherwise) have Java polymorphism of the 
form:

{code:java}
class Base 
{
   Integer a = 5;
}

class Derived extends Base
{
    String b = "Foo";
}

class PolymorphicDO
{
   Base b = new Derived();
}
{code}

Jackson handles this kind of field by using annotations such as:
{code}
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, 
property = "@class”)
{code}

If such a thing can be added to Avro, all those Java designs could become 
immediately usable with Avro. They would also become Hadoop compatible due to 
AvroSerde.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to