可用版本:Dev (3.21) | 最新版 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15

可见性修饰符(全局)

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

默认情况下,大多数供用户使用的生成的代码都使用显式 (Java) 或隐式 (Kotlin, Scala) public 修饰符。

在 Kotlin 中,有充分的理由偏离此默认设置,包括

  • 启用了-Xexplicit-api=strict,并且省略原本可选的可见性修饰符是一个编译错误
  • 生成的代码应该生成为 internal,而不是 public

在上述情况下,配置标志可以提供帮助

XML(独立和 Maven)
编程方式
Gradle (Kotlin)
Gradle (Groovy)
Gradle(第三方)
<configuration>
  <generator>
    <generate>
      <!-- Possible values for visibilityModifier
         - DEFAULT  : The default per language (Java: public, Kotlin, Scala: implicit public)
         - NONE     : Do not generate visibility modifiers
         - PUBLIC   : Generate explicit public modifiers (Java, Kotlin)
         - INTERNAL : Generate explicit internal modifiers (Kotlin) -->
      <visibilityModifier>INTERNAL</visibilityModifier>
    </generate>
  </generator>
</configuration>

有关更多详细信息,请参见配置 XSD独立代码生成maven 代码生成

new org.jooq.meta.jaxb.Configuration()
  .withGenerator(
    new Generate()

      // Possible values for visibilityModifier
      // - DEFAULT  : The default per language (Java: public, Kotlin, Scala: implicit public)
      // - NONE     : Do not generate visibility modifiers
      // - PUBLIC   : Generate explicit public modifiers (Java, Kotlin)
      // - INTERNAL : Generate explicit internal modifiers (Kotlin)
      .withVisibilityModifier(VisibilityModifier.INTERNAL)
  )

有关更多详细信息,请参见配置 XSD程序化代码生成

import org.jooq.meta.jaxb.*


configuration {
  generator {
    generate {

      // Possible values for visibilityModifier
      // - DEFAULT  : The default per language (Java: public, Kotlin, Scala: implicit public)
      // - NONE     : Do not generate visibility modifiers
      // - PUBLIC   : Generate explicit public modifiers (Java, Kotlin)
      // - INTERNAL : Generate explicit internal modifiers (Kotlin)
      visibilityModifier = VisibilityModifier.INTERNAL
    }
  }
}

有关更多详细信息,请参见配置 XSDgradle 代码生成

configuration {
  generator {
    generate {

      // Possible values for visibilityModifier
      // - DEFAULT  : The default per language (Java: public, Kotlin, Scala: implicit public)
      // - NONE     : Do not generate visibility modifiers
      // - PUBLIC   : Generate explicit public modifiers (Java, Kotlin)
      // - INTERNAL : Generate explicit internal modifiers (Kotlin)
      visibilityModifier = "INTERNAL"
    }
  }
}

有关更多详细信息,请参见配置 XSDgradle 代码生成

// The jOOQ-codegen-gradle plugin has been introduced in version 3.19.
// Please use the official plugin instead of the third party plugin that was recommended before.

并非所有值都适用于所有语言。

另请参见每个强制类型的可见性修饰符以获取更多选项。

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo