【发布时间】:2014-01-18 19:26:45
【问题描述】:
是否可以编写一个 Avro 模式/IDL 来生成一个扩展基类或实现接口的 Java 类?
生成的 Java 类似乎扩展了org.apache.avro.specific.SpecificRecordBase。所以,工具可能是要走的路。但是,我不知道这是否可能。
我看到了一些示例,建议在每个特定架构中定义一个显式的“类型”字段,更多的是关联而不是继承语义。
我在我的工厂类和代码的其他部分中大量使用我的基类,并使用<T extends BaseObject> 等泛型。目前,我使用支持继承的 JSON Schema 生成代码。
另一个问题:你可以使用 IDL 来定义没有协议定义的记录吗?我认为答案是否定的,因为编译器抱怨缺少协议关键字。
帮助表示赞赏!谢谢。
【问题讨论】: