Available in versions: Dev (3.21) | Latest (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11
This documentation is for the unreleased development version of jOOQ. Click on the above version links to get this documentation for a supported version of jOOQ.
Matching fields
Supported by ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
The following example shows how to define a MatcherStrategy for generated org.jooq.Field types and related objects:
<configuration>
<!-- These properties can be added directly to the generator element: -->
<generator>
<strategy>
<matchers>
<!-- Specify 0..n field matchers to provide a strategy for naming objects created from fields. -->
<fields>
<field>
<!-- Match unqualified or qualified field names. If left empty, this matcher applies to all fields. -->
<expression>MY_FIELD</expression>
<!-- These elements influence the naming of a generated org.jooq.Field object. -->
<fieldIdentifier> a MatcherRule specification </fieldIdentifier>
<fieldMember> a MatcherRule specification </fieldMember>
<fieldSetter> a MatcherRule specification </fieldSetter>
<fieldGetter> a MatcherRule specification </fieldGetter>
<!-- These elements influence the naming of generated DAO methods. -->
<daoMember> a MatcherRule specification </daoMember>
<!-- Whether a method should have an override modifier, e.g. because of an implemented interface -->
<recordSetterOverride>false</recordSetterOverride>
<recordGetterOverride>false</recordGetterOverride>
<recordMemberOverride>false</recordMemberOverride>
<interfaceSetterOverride>false</interfaceSetterOverride>
<interfaceGetterOverride>false</interfaceGetterOverride>
<interfaceMemberOverride>false</interfaceMemberOverride>
<pojoSetterOverride>false</pojoSetterOverride>
<pojoGetterOverride>false</pojoGetterOverride>
<pojoMemberOverride>false</pojoMemberOverride>
</field>
</fields>
</matchers>
</strategy>
</generator>
</configuration>
See the configuration XSD, standalone code generation, and maven code generation for more details.
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 field matchers to provide a strategy for naming objects created from fields.
.withFields(
new MatchersFieldType()
// Match unqualified or qualified field names. If left empty, this matcher applies to all fields.
.withExpression("MY_FIELD")
// These elements influence the naming of a generated org.jooq.Field object.
.withFieldIdentifier(MatcherRule. a MatcherRule specification )
.withFieldMember(MatcherRule. a MatcherRule specification )
.withFieldSetter(MatcherRule. a MatcherRule specification )
.withFieldGetter(MatcherRule. a MatcherRule specification )
// These elements influence the naming of generated DAO methods.
.withDaoMember(MatcherRule. a MatcherRule specification )
// Whether a method should have an override modifier, e.g. because of an implemented interface
.withRecordSetterOverride(false)
.withRecordGetterOverride(false)
.withRecordMemberOverride(false)
.withInterfaceSetterOverride(false)
.withInterfaceGetterOverride(false)
.withInterfaceMemberOverride(false)
.withPojoSetterOverride(false)
.withPojoGetterOverride(false)
.withPojoMemberOverride(false)
)
)
)
)
See the configuration XSD and programmatic code generation for more details.
import org.jooq.meta.jaxb.*
configuration {
// These properties can be added directly to the generator element:
generator {
strategy {
matchers {
// Specify 0..n field matchers to provide a strategy for naming objects created from fields.
fields {
field {
// Match unqualified or qualified field names. If left empty, this matcher applies to all fields.
expression = "MY_FIELD"
// These elements influence the naming of a generated org.jooq.Field object.
fieldIdentifier = MatcherRule. a MatcherRule specification
fieldMember = MatcherRule. a MatcherRule specification
fieldSetter = MatcherRule. a MatcherRule specification
fieldGetter = MatcherRule. a MatcherRule specification
// These elements influence the naming of generated DAO methods.
daoMember = MatcherRule. a MatcherRule specification
// Whether a method should have an override modifier, e.g. because of an implemented interface
isRecordSetterOverride = false
isRecordGetterOverride = false
isRecordMemberOverride = false
isInterfaceSetterOverride = false
isInterfaceGetterOverride = false
isInterfaceMemberOverride = false
isPojoSetterOverride = false
isPojoGetterOverride = false
isPojoMemberOverride = false
}
}
}
}
}
}
See the configuration XSD and gradle code generation for more details.
configuration {
// These properties can be added directly to the generator element:
generator {
strategy {
matchers {
// Specify 0..n field matchers to provide a strategy for naming objects created from fields.
fields {
field {
// Match unqualified or qualified field names. If left empty, this matcher applies to all fields.
expression = "MY_FIELD"
// These elements influence the naming of a generated org.jooq.Field object.
fieldIdentifier = " a MatcherRule specification "
fieldMember = " a MatcherRule specification "
fieldSetter = " a MatcherRule specification "
fieldGetter = " a MatcherRule specification "
// These elements influence the naming of generated DAO methods.
daoMember = " a MatcherRule specification "
// Whether a method should have an override modifier, e.g. because of an implemented interface
recordSetterOverride = false
recordGetterOverride = false
recordMemberOverride = false
interfaceSetterOverride = false
interfaceGetterOverride = false
interfaceMemberOverride = false
pojoSetterOverride = false
pojoGetterOverride = false
pojoMemberOverride = false
}
}
}
}
}
}
See the configuration XSD and gradle code generation for more details.
// 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.
As always, when regular expressions are used, they are regular expressions with default flags.
See MatcherRule for more information about MatcherRule specifications.
Feedback
Do you have any feedback about this page? We'd love to hear it!