匹配属性
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
以下示例展示了如何为生成的 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。
反馈
您对此页面有任何反馈吗?我们很乐意听取您的意见!