是否可以向从 avro 模式生成的类添加注释?

问题描述 投票:0回答:1

我使用gradle插件从avro schema(com.github.davidmc24.gradle.plugin.avro)生成类,是否可以在类生成时为ex,@DefaultSchema(JavaBeanSchema.class)添加任何注释到类级别?

gradle build.gradle apache-beam avro
1个回答
0
投票

是的,将注释合并到从 Avro 模式生成的类中确实是可行的。 Avro 有助于将自定义注释包含在模式的字段和类定义中。这些注释的目的是提供有关字段或类的补充详细信息,并且它们还支持自定义代码生成。

要在类级别向生成的 Avro 类添加自定义注释,可以使用插件提供的

@AvroCustom
注释。 @AvroCustom 注释允许您指定要添加到生成的类、字段或方法中的自定义注释。

打开您的

build.gradle
文件。在 avro 配置块内,添加一个新的 @AvroCustom 注释来指定类级别的自定义注释。例如:

avro {
    source("src/main/avro") {
        outputDir = file("build/generated-sources/avro")
        stringType = "String"
        createSetters = true
        fieldVisibility = "PRIVATE"
        // Add the @AvroCustom annotation for the class level
        classLevelAnnotations = ["@DefaultSchema(JavaBeanSchema.class)"]
    }
}

在上面的配置中,我们添加了 @AvroCustom 注释和 classLevelAnnotations 属性,以指定类级别的自定义注释。在本例中,我们将

@DefaultSchema(JavaBeanSchema.class)
添加到生成的 Avro 类中。

进行此配置更改后,当您运行 Gradle 任务以生成 Avro 代码时,@DefaultSchema(JavaBeanSchema.class) 注释将添加到生成的 Avro 类的类级别。确保根据您的特定用例的需要调整注释和值。

© www.soinside.com 2019 - 2024. All rights reserved.