[jOOQ/jOOQ#17487] Add code generation configuration flags to specify
which columns to include / exclude in generated POJO equals() and hashCode() implementations
This commit is contained in:
parent
0c6d699301
commit
4a88729447
@ -65,140 +65,142 @@ import org.jooq.tools.JooqLogger;
|
||||
*/
|
||||
abstract class AbstractGenerator implements Generator {
|
||||
|
||||
private static final JooqLogger log = JooqLogger.getLogger(AbstractGenerator.class);
|
||||
private static final JooqLogger log = JooqLogger.getLogger(AbstractGenerator.class);
|
||||
|
||||
boolean generateDeprecated = true;
|
||||
boolean generateDeprecationOnUnknownTypes = true;
|
||||
boolean generateIndexes = true;
|
||||
boolean generateRelations = true;
|
||||
boolean generateUDTPaths = true;
|
||||
boolean generateImplicitJoinPathsToOne = true;
|
||||
boolean generateImplicitJoinPathsToMany = true;
|
||||
boolean generateImplicitJoinPathTableSubtypes = true;
|
||||
boolean generateImplicitJoinPathUnusedConstructors = true;
|
||||
boolean generateImplicitJoinPathsAsKotlinProperties = true;
|
||||
boolean generateInstanceFields = true;
|
||||
VisibilityModifier generateVisibilityModifier = VisibilityModifier.DEFAULT;
|
||||
boolean generateGeneratedAnnotation = false;
|
||||
GeneratedAnnotationType generatedGeneratedAnnotationType = GeneratedAnnotationType.DETECT_FROM_JDK;
|
||||
boolean generateGeneratedAnnotationDate = false;
|
||||
boolean generateGeneratedAnnotationJooqVersion = true;
|
||||
boolean generateNonnullAnnotation = false;
|
||||
String generatedNonnullAnnotationType = "javax.annotation.Nonnull";
|
||||
boolean generateNullableAnnotation = false;
|
||||
boolean generateNullableAnnotationOnWriteOnlyNullableTypes = false;
|
||||
String generatedNullableAnnotationType = "javax.annotation.Nullable";
|
||||
boolean generateConstructorPropertiesAnnotation = false;
|
||||
boolean generateDeprecated = true;
|
||||
boolean generateDeprecationOnUnknownTypes = true;
|
||||
boolean generateIndexes = true;
|
||||
boolean generateRelations = true;
|
||||
boolean generateUDTPaths = true;
|
||||
boolean generateImplicitJoinPathsToOne = true;
|
||||
boolean generateImplicitJoinPathsToMany = true;
|
||||
boolean generateImplicitJoinPathTableSubtypes = true;
|
||||
boolean generateImplicitJoinPathUnusedConstructors = true;
|
||||
boolean generateImplicitJoinPathsAsKotlinProperties = true;
|
||||
boolean generateInstanceFields = true;
|
||||
VisibilityModifier generateVisibilityModifier = VisibilityModifier.DEFAULT;
|
||||
boolean generateGeneratedAnnotation = false;
|
||||
GeneratedAnnotationType generatedGeneratedAnnotationType = GeneratedAnnotationType.DETECT_FROM_JDK;
|
||||
boolean generateGeneratedAnnotationDate = false;
|
||||
boolean generateGeneratedAnnotationJooqVersion = true;
|
||||
boolean generateNonnullAnnotation = false;
|
||||
String generatedNonnullAnnotationType = "javax.annotation.Nonnull";
|
||||
boolean generateNullableAnnotation = false;
|
||||
boolean generateNullableAnnotationOnWriteOnlyNullableTypes = false;
|
||||
String generatedNullableAnnotationType = "javax.annotation.Nullable";
|
||||
boolean generateConstructorPropertiesAnnotation = false;
|
||||
Boolean generateConstructorPropertiesAnnotationOnPojos;
|
||||
Boolean generateConstructorPropertiesAnnotationOnRecords;
|
||||
boolean useSchemaVersionProvider = false;
|
||||
boolean useCatalogVersionProvider = false;
|
||||
boolean generateRoutines = true;
|
||||
boolean useSchemaVersionProvider = false;
|
||||
boolean useCatalogVersionProvider = false;
|
||||
boolean generateRoutines = true;
|
||||
|
||||
|
||||
|
||||
|
||||
boolean generateSequences = true;
|
||||
boolean generateSequenceFlags = true;
|
||||
boolean generateUDTs = true;
|
||||
boolean generateTables = true;
|
||||
boolean generateEmbeddables = true;
|
||||
boolean generateRecords = true;
|
||||
boolean generateRecordsImplementingRecordN = false;
|
||||
boolean generateEnumsAsScalaSealedTraits = false;
|
||||
boolean generateEnumsAsScalaEnums = true;
|
||||
boolean generatePojos = false;
|
||||
boolean generatePojosAsJavaRecordClasses = false;
|
||||
boolean generatePojosAsScalaCaseClasses = true;
|
||||
boolean generatePojosAsKotlinDataClasses = true;
|
||||
boolean generatePojosEqualsAndHashCode = true;
|
||||
boolean generatePojosToString = true;
|
||||
boolean generateImmutablePojos = false;
|
||||
boolean generateSerializablePojos = true;
|
||||
boolean generateInterfaces = false;
|
||||
boolean generateImmutableInterfaces = false;
|
||||
boolean generateSerializableInterfaces = true;
|
||||
boolean generateDaos = false;
|
||||
boolean generateJooqVersionReference = true;
|
||||
boolean generateJPAAnnotations = false;
|
||||
String generateJPAVersion = "";
|
||||
boolean generateValidationAnnotations = false;
|
||||
boolean generateSpringAnnotations = false;
|
||||
boolean generateSpringDao = false;
|
||||
boolean generateKotlinSetterJvmNameAnnotationsOnIsPrefix = true;
|
||||
boolean generateKotlinNotNullPojoAttributes = false;
|
||||
boolean generateKotlinNotNullRecordAttributes = false;
|
||||
boolean generateKotlinNotNullInterfaceAttributes = false;
|
||||
boolean generateKotlinDefaultedNullablePojoAttributes = true;
|
||||
boolean generateKotlinDefaultedNullableRecordAttributes = true;
|
||||
GeneratedSerialVersionUID generatedSerialVersionUID = GeneratedSerialVersionUID.CONSTANT;
|
||||
int maxMembersPerInitialiser = 500;
|
||||
boolean generateQueues = true;
|
||||
boolean generateLinks = true;
|
||||
boolean generateKeys = true;
|
||||
boolean generateGlobalObjectNames = true;
|
||||
boolean generateGlobalObjectReferences = true;
|
||||
boolean generateGlobalCatalogReferences = true;
|
||||
boolean generateGlobalSchemaReferences = true;
|
||||
boolean generateGlobalRoutineReferences = true;
|
||||
boolean generateGlobalSequenceReferences = true;
|
||||
boolean generateGlobalTableReferences = true;
|
||||
boolean generateGlobalDomainReferences = true;
|
||||
boolean generateSequences = true;
|
||||
boolean generateSequenceFlags = true;
|
||||
boolean generateUDTs = true;
|
||||
boolean generateTables = true;
|
||||
boolean generateEmbeddables = true;
|
||||
boolean generateRecords = true;
|
||||
boolean generateRecordsImplementingRecordN = false;
|
||||
boolean generateEnumsAsScalaSealedTraits = false;
|
||||
boolean generateEnumsAsScalaEnums = true;
|
||||
boolean generatePojos = false;
|
||||
boolean generatePojosAsJavaRecordClasses = false;
|
||||
boolean generatePojosAsScalaCaseClasses = true;
|
||||
boolean generatePojosAsKotlinDataClasses = true;
|
||||
boolean generatePojosEqualsAndHashCode = true;
|
||||
String generatePojosEqualsAndHashCodeColumnIncludeExpression = null;
|
||||
String generatePojosEqualsAndHashCodeColumnExcludeExpression = null;
|
||||
boolean generatePojosToString = true;
|
||||
boolean generateImmutablePojos = false;
|
||||
boolean generateSerializablePojos = true;
|
||||
boolean generateInterfaces = false;
|
||||
boolean generateImmutableInterfaces = false;
|
||||
boolean generateSerializableInterfaces = true;
|
||||
boolean generateDaos = false;
|
||||
boolean generateJooqVersionReference = true;
|
||||
boolean generateJPAAnnotations = false;
|
||||
String generateJPAVersion = "";
|
||||
boolean generateValidationAnnotations = false;
|
||||
boolean generateSpringAnnotations = false;
|
||||
boolean generateSpringDao = false;
|
||||
boolean generateKotlinSetterJvmNameAnnotationsOnIsPrefix = true;
|
||||
boolean generateKotlinNotNullPojoAttributes = false;
|
||||
boolean generateKotlinNotNullRecordAttributes = false;
|
||||
boolean generateKotlinNotNullInterfaceAttributes = false;
|
||||
boolean generateKotlinDefaultedNullablePojoAttributes = true;
|
||||
boolean generateKotlinDefaultedNullableRecordAttributes = true;
|
||||
GeneratedSerialVersionUID generatedSerialVersionUID = GeneratedSerialVersionUID.CONSTANT;
|
||||
int maxMembersPerInitialiser = 500;
|
||||
boolean generateQueues = true;
|
||||
boolean generateLinks = true;
|
||||
boolean generateKeys = true;
|
||||
boolean generateGlobalObjectNames = true;
|
||||
boolean generateGlobalObjectReferences = true;
|
||||
boolean generateGlobalCatalogReferences = true;
|
||||
boolean generateGlobalSchemaReferences = true;
|
||||
boolean generateGlobalRoutineReferences = true;
|
||||
boolean generateGlobalSequenceReferences = true;
|
||||
boolean generateGlobalTableReferences = true;
|
||||
boolean generateGlobalDomainReferences = true;
|
||||
|
||||
|
||||
|
||||
|
||||
boolean generateGlobalUDTReferences = true;
|
||||
boolean generateGlobalQueueReferences = true;
|
||||
boolean generateGlobalLinkReferences = true;
|
||||
boolean generateGlobalKeyReferences = true;
|
||||
boolean generateGlobalIndexReferences = true;
|
||||
boolean generateDefaultCatalog = true;
|
||||
boolean generateDefaultSchema = true;
|
||||
boolean generateJavadoc = true;
|
||||
boolean generateComments = true;
|
||||
boolean generateCommentsOnAttributes = true;
|
||||
boolean generateCommentsOnCatalogs = true;
|
||||
boolean generateCommentsOnColumns = true;
|
||||
boolean generateCommentsOnKeys = true;
|
||||
boolean generateCommentsOnLinks = true;
|
||||
boolean generateCommentsOnPackages = true;
|
||||
boolean generateCommentsOnParameters = true;
|
||||
boolean generateCommentsOnQueues = true;
|
||||
boolean generateCommentsOnRoutines = true;
|
||||
boolean generateCommentsOnSchemas = true;
|
||||
boolean generateCommentsOnSequences = true;
|
||||
boolean generateCommentsOnDomains = true;
|
||||
boolean generateCommentsOnTables = true;
|
||||
boolean generateCommentsOnUDTs = true;
|
||||
boolean generateCommentsOnEmbeddables = true;
|
||||
boolean generateSources = true;
|
||||
boolean generateSourcesOnViews = true;
|
||||
boolean generateFluentSetters = false;
|
||||
boolean generateJavaBeansGettersAndSetters = false;
|
||||
boolean generateUseTableNameForUnambiguousFKs = true;
|
||||
boolean generateVarargsSetters = true;
|
||||
String generateFullyQualifiedTypes = "";
|
||||
boolean generateJavaTimeTypes = true;
|
||||
boolean generateSpatialTypes = true;
|
||||
boolean generateXmlTypes = true;
|
||||
boolean generateJsonTypes = true;
|
||||
boolean generateIntervalTypes = true;
|
||||
boolean generateDecfloatTypes = true;
|
||||
boolean generateTableValuedFunctions = false;
|
||||
boolean generateEmptyCatalogs = false;
|
||||
boolean generateEmptySchemas = false;
|
||||
String generateNewline = "\n";
|
||||
boolean generateGlobalUDTReferences = true;
|
||||
boolean generateGlobalQueueReferences = true;
|
||||
boolean generateGlobalLinkReferences = true;
|
||||
boolean generateGlobalKeyReferences = true;
|
||||
boolean generateGlobalIndexReferences = true;
|
||||
boolean generateDefaultCatalog = true;
|
||||
boolean generateDefaultSchema = true;
|
||||
boolean generateJavadoc = true;
|
||||
boolean generateComments = true;
|
||||
boolean generateCommentsOnAttributes = true;
|
||||
boolean generateCommentsOnCatalogs = true;
|
||||
boolean generateCommentsOnColumns = true;
|
||||
boolean generateCommentsOnKeys = true;
|
||||
boolean generateCommentsOnLinks = true;
|
||||
boolean generateCommentsOnPackages = true;
|
||||
boolean generateCommentsOnParameters = true;
|
||||
boolean generateCommentsOnQueues = true;
|
||||
boolean generateCommentsOnRoutines = true;
|
||||
boolean generateCommentsOnSchemas = true;
|
||||
boolean generateCommentsOnSequences = true;
|
||||
boolean generateCommentsOnDomains = true;
|
||||
boolean generateCommentsOnTables = true;
|
||||
boolean generateCommentsOnUDTs = true;
|
||||
boolean generateCommentsOnEmbeddables = true;
|
||||
boolean generateSources = true;
|
||||
boolean generateSourcesOnViews = true;
|
||||
boolean generateFluentSetters = false;
|
||||
boolean generateJavaBeansGettersAndSetters = false;
|
||||
boolean generateUseTableNameForUnambiguousFKs = true;
|
||||
boolean generateVarargsSetters = true;
|
||||
String generateFullyQualifiedTypes = "";
|
||||
boolean generateJavaTimeTypes = true;
|
||||
boolean generateSpatialTypes = true;
|
||||
boolean generateXmlTypes = true;
|
||||
boolean generateJsonTypes = true;
|
||||
boolean generateIntervalTypes = true;
|
||||
boolean generateDecfloatTypes = true;
|
||||
boolean generateTableValuedFunctions = false;
|
||||
boolean generateEmptyCatalogs = false;
|
||||
boolean generateEmptySchemas = false;
|
||||
String generateNewline = "\n";
|
||||
String generateIndentation;
|
||||
int generatePrintMarginForBlockComment = 80;
|
||||
GeneratedTextBlocks generateTextBlocks = GeneratedTextBlocks.DETECT_FROM_JDK;
|
||||
boolean generateWhereMethodOverrides = true;
|
||||
boolean generateRenameMethodOverrides = true;
|
||||
boolean generateAsMethodOverrides = true;
|
||||
int generatePrintMarginForBlockComment = 80;
|
||||
GeneratedTextBlocks generateTextBlocks = GeneratedTextBlocks.DETECT_FROM_JDK;
|
||||
boolean generateWhereMethodOverrides = true;
|
||||
boolean generateRenameMethodOverrides = true;
|
||||
boolean generateAsMethodOverrides = true;
|
||||
|
||||
protected GeneratorStrategyWrapper strategy;
|
||||
protected String targetEncoding = "UTF-8";
|
||||
protected boolean targetClean = true;
|
||||
protected String targetEncoding = "UTF-8";
|
||||
protected boolean targetClean = true;
|
||||
final Language languageConfigured;
|
||||
Language language;
|
||||
Database database;
|
||||
@ -1399,6 +1401,26 @@ abstract class AbstractGenerator implements Generator {
|
||||
this.generatePojosEqualsAndHashCode = generatePojosEqualsAndHashCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String generatePojosEqualsAndHashCodeColumnIncludeExpression() {
|
||||
return generatePojosEqualsAndHashCodeColumnIncludeExpression;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGeneratePojosEqualsAndHashCodeColumnIncludeExpression(String generatePojosEqualsAndHashCodeColumnIncludeExpression) {
|
||||
this.generatePojosEqualsAndHashCodeColumnIncludeExpression = generatePojosEqualsAndHashCodeColumnIncludeExpression;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String generatePojosEqualsAndHashCodeColumnExcludeExpression() {
|
||||
return generatePojosEqualsAndHashCodeColumnExcludeExpression;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGeneratePojosEqualsAndHashCodeColumnExcludeExpression(String generatePojosEqualsAndHashCodeColumnExcludeExpression) {
|
||||
this.generatePojosEqualsAndHashCodeColumnExcludeExpression = generatePojosEqualsAndHashCodeColumnExcludeExpression;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean generatePojosToString() {
|
||||
return generatePojosToString;
|
||||
|
||||
@ -954,6 +954,10 @@ public class GenerationTool {
|
||||
generator.setGenerateVarargsSetters(g.getGenerate().isVarargSetters());
|
||||
if (g.getGenerate().isPojosEqualsAndHashCode() != null)
|
||||
generator.setGeneratePojosEqualsAndHashCode(g.getGenerate().isPojosEqualsAndHashCode());
|
||||
if (g.getGenerate().getPojosEqualsAndHashCodeColumnIncludeExpression() != null)
|
||||
generator.setGeneratePojosEqualsAndHashCodeColumnIncludeExpression(g.getGenerate().getPojosEqualsAndHashCodeColumnIncludeExpression());
|
||||
if (g.getGenerate().getPojosEqualsAndHashCodeColumnExcludeExpression() != null)
|
||||
generator.setGeneratePojosEqualsAndHashCodeColumnExcludeExpression(g.getGenerate().getPojosEqualsAndHashCodeColumnExcludeExpression());
|
||||
if (g.getGenerate().isPojosToString() != null)
|
||||
generator.setGeneratePojosToString(g.getGenerate().isPojosToString());
|
||||
if (g.getGenerate().getFullyQualifiedTypes() != null)
|
||||
|
||||
@ -1290,6 +1290,30 @@ public interface Generator {
|
||||
*/
|
||||
void setGeneratePojosEqualsAndHashCode(boolean generatePojosEqualsAndHashCode);
|
||||
|
||||
/**
|
||||
* A regular expression matching columns to include in <code>equals()</code>
|
||||
* and <code>hashCode()</code> methods of generated POJOS.
|
||||
*/
|
||||
String generatePojosEqualsAndHashCodeColumnIncludeExpression();
|
||||
|
||||
/**
|
||||
* A regular expression matching columns to include in <code>equals()</code>
|
||||
* and <code>hashCode()</code> methods of generated POJOS.
|
||||
*/
|
||||
void setGeneratePojosEqualsAndHashCodeColumnIncludeExpression(String generatePojosEqualsAndHashCodeColumnIncludeExpression);
|
||||
|
||||
/**
|
||||
* A regular expression matching columns to exclude in <code>equals()</code>
|
||||
* and <code>hashCode()</code> methods of generated POJOS.
|
||||
*/
|
||||
String generatePojosEqualsAndHashCodeColumnExcludeExpression();
|
||||
|
||||
/**
|
||||
* A regular expression matching columns to exclude in <code>equals()</code>
|
||||
* and <code>hashCode()</code> methods of generated POJOS.
|
||||
*/
|
||||
void setGeneratePojosEqualsAndHashCodeColumnExcludeExpression(String generatePojosEqualsAndHashCodeColumnExcludeExpression);
|
||||
|
||||
/**
|
||||
* Whether a <code>toString()</code> method should be generated on POJOs
|
||||
*/
|
||||
|
||||
@ -6836,6 +6836,14 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
final String className = getStrategy().getJavaClassName(tableUdtOrEmbeddable, Mode.POJO);
|
||||
List<Definition> replacingEmbeddablesAndUnreplacedColumns = replacingEmbeddablesAndUnreplacedColumns(tableUdtOrEmbeddable);
|
||||
|
||||
if (generatePojosEqualsAndHashCodeColumnIncludeExpression() != null ||
|
||||
generatePojosEqualsAndHashCodeColumnExcludeExpression() != null)
|
||||
replacingEmbeddablesAndUnreplacedColumns = database.filterExcludeInclude(
|
||||
replacingEmbeddablesAndUnreplacedColumns,
|
||||
generatePojosEqualsAndHashCodeColumnExcludeExpression(),
|
||||
generatePojosEqualsAndHashCodeColumnIncludeExpression()
|
||||
);
|
||||
|
||||
out.println();
|
||||
|
||||
if (scala) {
|
||||
|
||||
@ -969,6 +969,11 @@ public interface Database extends AutoCloseable {
|
||||
*/
|
||||
<D extends Definition> List<D> filterExcludeInclude(List<D> definitions);
|
||||
|
||||
/**
|
||||
* Filter a list of definitions according to the exclude / include expressions passed as arguments.
|
||||
*/
|
||||
<D extends Definition> List<D> filterExcludeInclude(List<D> definitions, String exclude, String include);
|
||||
|
||||
/**
|
||||
* Sort a list of definitions according to the {@link #getOrderProvider()} defined in this database.
|
||||
*/
|
||||
|
||||
@ -116,6 +116,12 @@ public class Generate implements Serializable, XMLAppendable
|
||||
protected Boolean pojos = false;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean pojosEqualsAndHashCode = true;
|
||||
@XmlElement(defaultValue = "")
|
||||
@XmlJavaTypeAdapter(StringAdapter.class)
|
||||
protected String pojosEqualsAndHashCodeColumnIncludeExpression = "";
|
||||
@XmlElement(defaultValue = "")
|
||||
@XmlJavaTypeAdapter(StringAdapter.class)
|
||||
protected String pojosEqualsAndHashCodeColumnExcludeExpression = "";
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean pojosToString = true;
|
||||
@XmlElement(defaultValue = "false")
|
||||
@ -1291,6 +1297,38 @@ public class Generate implements Serializable, XMLAppendable
|
||||
this.pojosEqualsAndHashCode = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* The regular expression matching columns for inclusion in generated equals() and hashCode() methods in POJOs.
|
||||
*
|
||||
*/
|
||||
public String getPojosEqualsAndHashCodeColumnIncludeExpression() {
|
||||
return pojosEqualsAndHashCodeColumnIncludeExpression;
|
||||
}
|
||||
|
||||
/**
|
||||
* The regular expression matching columns for inclusion in generated equals() and hashCode() methods in POJOs.
|
||||
*
|
||||
*/
|
||||
public void setPojosEqualsAndHashCodeColumnIncludeExpression(String value) {
|
||||
this.pojosEqualsAndHashCodeColumnIncludeExpression = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* The regular expression matching columns for exclusion in generated equals() and hashCode() methods in POJOs.
|
||||
*
|
||||
*/
|
||||
public String getPojosEqualsAndHashCodeColumnExcludeExpression() {
|
||||
return pojosEqualsAndHashCodeColumnExcludeExpression;
|
||||
}
|
||||
|
||||
/**
|
||||
* The regular expression matching columns for exclusion in generated equals() and hashCode() methods in POJOs.
|
||||
*
|
||||
*/
|
||||
public void setPojosEqualsAndHashCodeColumnExcludeExpression(String value) {
|
||||
this.pojosEqualsAndHashCodeColumnExcludeExpression = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate basic toString() methods in POJOs.
|
||||
*
|
||||
@ -3650,6 +3688,24 @@ public class Generate implements Serializable, XMLAppendable
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* The regular expression matching columns for inclusion in generated equals() and hashCode() methods in POJOs.
|
||||
*
|
||||
*/
|
||||
public Generate withPojosEqualsAndHashCodeColumnIncludeExpression(String value) {
|
||||
setPojosEqualsAndHashCodeColumnIncludeExpression(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* The regular expression matching columns for exclusion in generated equals() and hashCode() methods in POJOs.
|
||||
*
|
||||
*/
|
||||
public Generate withPojosEqualsAndHashCodeColumnExcludeExpression(String value) {
|
||||
setPojosEqualsAndHashCodeColumnExcludeExpression(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate basic toString() methods in POJOs.
|
||||
*
|
||||
@ -4464,6 +4520,8 @@ public class Generate implements Serializable, XMLAppendable
|
||||
builder.append("enumsAsScalaEnums", enumsAsScalaEnums);
|
||||
builder.append("pojos", pojos);
|
||||
builder.append("pojosEqualsAndHashCode", pojosEqualsAndHashCode);
|
||||
builder.append("pojosEqualsAndHashCodeColumnIncludeExpression", pojosEqualsAndHashCodeColumnIncludeExpression);
|
||||
builder.append("pojosEqualsAndHashCodeColumnExcludeExpression", pojosEqualsAndHashCodeColumnExcludeExpression);
|
||||
builder.append("pojosToString", pojosToString);
|
||||
builder.append("pojosAsJavaRecordClasses", pojosAsJavaRecordClasses);
|
||||
builder.append("pojosAsScalaCaseClasses", pojosAsScalaCaseClasses);
|
||||
@ -4945,6 +5003,24 @@ public class Generate implements Serializable, XMLAppendable
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (pojosEqualsAndHashCodeColumnIncludeExpression == null) {
|
||||
if (other.pojosEqualsAndHashCodeColumnIncludeExpression!= null) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!pojosEqualsAndHashCodeColumnIncludeExpression.equals(other.pojosEqualsAndHashCodeColumnIncludeExpression)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (pojosEqualsAndHashCodeColumnExcludeExpression == null) {
|
||||
if (other.pojosEqualsAndHashCodeColumnExcludeExpression!= null) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!pojosEqualsAndHashCodeColumnExcludeExpression.equals(other.pojosEqualsAndHashCodeColumnExcludeExpression)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (pojosToString == null) {
|
||||
if (other.pojosToString!= null) {
|
||||
return false;
|
||||
@ -5732,6 +5808,8 @@ public class Generate implements Serializable, XMLAppendable
|
||||
result = ((prime*result)+((enumsAsScalaEnums == null)? 0 :enumsAsScalaEnums.hashCode()));
|
||||
result = ((prime*result)+((pojos == null)? 0 :pojos.hashCode()));
|
||||
result = ((prime*result)+((pojosEqualsAndHashCode == null)? 0 :pojosEqualsAndHashCode.hashCode()));
|
||||
result = ((prime*result)+((pojosEqualsAndHashCodeColumnIncludeExpression == null)? 0 :pojosEqualsAndHashCodeColumnIncludeExpression.hashCode()));
|
||||
result = ((prime*result)+((pojosEqualsAndHashCodeColumnExcludeExpression == null)? 0 :pojosEqualsAndHashCodeColumnExcludeExpression.hashCode()));
|
||||
result = ((prime*result)+((pojosToString == null)? 0 :pojosToString.hashCode()));
|
||||
result = ((prime*result)+((pojosAsJavaRecordClasses == null)? 0 :pojosAsJavaRecordClasses.hashCode()));
|
||||
result = ((prime*result)+((pojosAsScalaCaseClasses == null)? 0 :pojosAsScalaCaseClasses.hashCode()));
|
||||
|
||||
@ -2723,6 +2723,14 @@ jOOQ API, without adding custom data type bindings to them.]]></jxb:javadoc></jx
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Generate basic equals() and hashCode() methods in POJOs.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="pojosEqualsAndHashCodeColumnIncludeExpression" type="string" default="" minOccurs="0" maxOccurs="1">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The regular expression matching columns for inclusion in generated equals() and hashCode() methods in POJOs.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="pojosEqualsAndHashCodeColumnExcludeExpression" type="string" default="" minOccurs="0" maxOccurs="1">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The regular expression matching columns for exclusion in generated equals() and hashCode() methods in POJOs.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="pojosToString" type="boolean" default="true" minOccurs="0" maxOccurs="1">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Generate basic toString() methods in POJOs.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user