匹配属性
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
以下示例展示了如何为生成的 org.jooq.UDTField
类型及相关对象定义 MatcherStrategy
XML(独立和 Maven)
编程方式
Gradle (Kotlin)
Gradle (Groovy)
Gradle(第三方)
<configuration> <!-- These properties can be added directly to the generator element: --> <generator> <strategy> <matchers> <!-- Specify 0..n UDT attribute matchers to provide a strategy for naming objects created from UDT attributes. --> <attributes> <attribute> <!-- Match unqualified or qualified UDT attribute names. If left empty, this matcher applies to all UDT attributes. --> <expression>MY_FIELD</expression> <!-- These elements influence the naming of a generated org.jooq.UDTField object. --> <fieldIdentifier> a MatcherRule specification </fieldIdentifier> <fieldMember> a MatcherRule specification </fieldMember> <fieldSetter> a MatcherRule specification </fieldSetter> <fieldGetter> a MatcherRule specification </fieldGetter> <!-- Whether a method should have an override modifier, e.g. because of an implemented interface --> <recordSetterOverride>false</recordSetterOverride> <recordGetterOverride>false</recordGetterOverride> <recordMemberOverride>false</recordMemberOverride> <recordTypeSetterOverride>false</recordTypeSetterOverride> <recordTypeGetterOverride>false</recordTypeGetterOverride> <recordTypeMemberOverride>false</recordTypeMemberOverride> <interfaceSetterOverride>false</interfaceSetterOverride> <interfaceGetterOverride>false</interfaceGetterOverride> <interfaceMemberOverride>false</interfaceMemberOverride> <pojoSetterOverride>false</pojoSetterOverride> <pojoGetterOverride>false</pojoGetterOverride> <pojoMemberOverride>false</pojoMemberOverride> </attribute> </attributes> </matchers> </strategy> </generator> </configuration>
更多详情请参见配置 XSD、独立代码生成和maven 代码生成。
new org.jooq.meta.jaxb.Configuration() // These properties can be added directly to the generator element: .withGenerator(new Generator() .withStrategy(new Strategy() .withMatchers(new Matchers() // Specify 0..n UDT attribute matchers to provide a strategy for naming objects created from UDT attributes. .withAttributes( new MatchersAttributeType() // Match unqualified or qualified UDT attribute names. If left empty, this matcher applies to all UDT attributes. .withExpression("MY_FIELD") // These elements influence the naming of a generated org.jooq.UDTField object. .withFieldIdentifier(" a MatcherRule specification ") .withFieldMember(" a MatcherRule specification ") .withFieldSetter(" a MatcherRule specification ") .withFieldGetter(" a MatcherRule specification ") // Whether a method should have an override modifier, e.g. because of an implemented interface .withRecordSetterOverride(false) .withRecordGetterOverride(false) .withRecordMemberOverride(false) .withRecordTypeSetterOverride(false) .withRecordTypeGetterOverride(false) .withRecordTypeMemberOverride(false) .withInterfaceSetterOverride(false) .withInterfaceGetterOverride(false) .withInterfaceMemberOverride(false) .withPojoSetterOverride(false) .withPojoGetterOverride(false) .withPojoMemberOverride(false) ) ) ) )
import org.jooq.meta.jaxb.* configuration { // These properties can be added directly to the generator element: generator { strategy { matchers { // Specify 0..n UDT attribute matchers to provide a strategy for naming objects created from UDT attributes. attributes { attribute { // Match unqualified or qualified UDT attribute names. If left empty, this matcher applies to all UDT attributes. expression = "MY_FIELD" // These elements influence the naming of a generated org.jooq.UDTField object. fieldIdentifier = " a MatcherRule specification " fieldMember = " a MatcherRule specification " fieldSetter = " a MatcherRule specification " fieldGetter = " a MatcherRule specification " // Whether a method should have an override modifier, e.g. because of an implemented interface isRecordSetterOverride = false isRecordGetterOverride = false isRecordMemberOverride = false isRecordTypeSetterOverride = false isRecordTypeGetterOverride = false isRecordTypeMemberOverride = false isInterfaceSetterOverride = false isInterfaceGetterOverride = false isInterfaceMemberOverride = false isPojoSetterOverride = false isPojoGetterOverride = false isPojoMemberOverride = false } } } } } }
更多详情请参见配置 XSD和gradle 代码生成。
configuration { // These properties can be added directly to the generator element: generator { strategy { matchers { // Specify 0..n UDT attribute matchers to provide a strategy for naming objects created from UDT attributes. attributes { attribute { // Match unqualified or qualified UDT attribute names. If left empty, this matcher applies to all UDT attributes. expression = "MY_FIELD" // These elements influence the naming of a generated org.jooq.UDTField object. fieldIdentifier = " a MatcherRule specification " fieldMember = " a MatcherRule specification " fieldSetter = " a MatcherRule specification " fieldGetter = " a MatcherRule specification " // Whether a method should have an override modifier, e.g. because of an implemented interface recordSetterOverride = false recordGetterOverride = false recordMemberOverride = false recordTypeSetterOverride = false recordTypeGetterOverride = false recordTypeMemberOverride = false interfaceSetterOverride = false interfaceGetterOverride = false interfaceMemberOverride = false pojoSetterOverride = false pojoGetterOverride = false pojoMemberOverride = false } } } } } }
更多详情请参见配置 XSD和gradle 代码生成。
// 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.
一如既往,当使用正则表达式时,它们是具有默认标志的正则表达式。
有关 MatcherRule
规范的更多信息,请参见MatcherRule。
反馈
您对此页面有任何反馈吗?我们很乐意听取您的意见!