[jOOQ/jOOQ#13411] Added configuration flags

This commit is contained in:
Lukas Eder 2024-01-19 13:57:26 +01:00
parent 22261b9ce1
commit 04a4b3f408
3 changed files with 240 additions and 0 deletions

View File

@ -38,6 +38,8 @@ public class ForcedType implements Serializable, XMLAppendable
protected String userType;
@XmlSchemaType(name = "string")
protected VisibilityModifier visibilityModifier;
@XmlElement(defaultValue = "false")
protected Boolean hidden = false;
@XmlJavaTypeAdapter(StringAdapter.class)
protected String generator;
protected Boolean auditInsertTimestamp;
@ -156,6 +158,38 @@ public class ForcedType implements Serializable, XMLAppendable
this.visibilityModifier = value;
}
/**
* The hidden flag allows for hiding columns from usage in queries by default, unless explicitly projected..
* <p>
* This has no effect on matched objects that are not columns.
* <p>
* This feature is available in the commercial distribution only.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean isHidden() {
return hidden;
}
/**
* The hidden flag allows for hiding columns from usage in queries by default, unless explicitly projected..
* <p>
* This has no effect on matched objects that are not columns.
* <p>
* This feature is available in the commercial distribution only.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setHidden(Boolean value) {
this.hidden = value;
}
/**
* A {@link org.jooq.Generator} implementation used for client-side computed columns.
* <p>
@ -717,6 +751,19 @@ public class ForcedType implements Serializable, XMLAppendable
return this;
}
/**
* The hidden flag allows for hiding columns from usage in queries by default, unless explicitly projected..
* <p>
* This has no effect on matched objects that are not columns.
* <p>
* This feature is available in the commercial distribution only.
*
*/
public ForcedType withHidden(Boolean value) {
setHidden(value);
return this;
}
/**
* A {@link org.jooq.Generator} implementation used for client-side computed columns.
* <p>
@ -966,6 +1013,7 @@ public class ForcedType implements Serializable, XMLAppendable
builder.append("name", name);
builder.append("userType", userType);
builder.append("visibilityModifier", visibilityModifier);
builder.append("hidden", hidden);
builder.append("generator", generator);
builder.append("auditInsertTimestamp", auditInsertTimestamp);
builder.append("auditInsertUser", auditInsertUser);
@ -1047,6 +1095,15 @@ public class ForcedType implements Serializable, XMLAppendable
return false;
}
}
if (hidden == null) {
if (other.hidden!= null) {
return false;
}
} else {
if (!hidden.equals(other.hidden)) {
return false;
}
}
if (generator == null) {
if (other.generator!= null) {
return false;
@ -1274,6 +1331,7 @@ public class ForcedType implements Serializable, XMLAppendable
result = ((prime*result)+((name == null)? 0 :name.hashCode()));
result = ((prime*result)+((userType == null)? 0 :userType.hashCode()));
result = ((prime*result)+((visibilityModifier == null)? 0 :visibilityModifier.hashCode()));
result = ((prime*result)+((hidden == null)? 0 :hidden.hashCode()));
result = ((prime*result)+((generator == null)? 0 :generator.hashCode()));
result = ((prime*result)+((auditInsertTimestamp == null)? 0 :auditInsertTimestamp.hashCode()));
result = ((prime*result)+((auditInsertUser == null)? 0 :auditInsertUser.hashCode()));

View File

@ -266,6 +266,12 @@ public class Generate implements Serializable, XMLAppendable
protected Boolean renameMethodOverrides = true;
@XmlElement(defaultValue = "true")
protected Boolean asMethodOverrides = true;
@XmlElement(defaultValue = "false")
protected Boolean hiddenColumnsInRecords = false;
@XmlElement(defaultValue = "false")
protected Boolean hiddenColumnsInPojos = false;
@XmlElement(defaultValue = "false")
protected Boolean hiddenColumnsInInterfaces = false;
/**
* Generate index information.
@ -3017,6 +3023,90 @@ public class Generate implements Serializable, XMLAppendable
this.asMethodOverrides = value;
}
/**
* Whether hidden columns should be generated in records.
* <p>
* This feature is available in the commercial distribution only.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean isHiddenColumnsInRecords() {
return hiddenColumnsInRecords;
}
/**
* Whether hidden columns should be generated in records.
* <p>
* This feature is available in the commercial distribution only.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setHiddenColumnsInRecords(Boolean value) {
this.hiddenColumnsInRecords = value;
}
/**
* Whether hidden columns should be generated in POJOs.
* <p>
* This feature is available in the commercial distribution only.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean isHiddenColumnsInPojos() {
return hiddenColumnsInPojos;
}
/**
* Whether hidden columns should be generated in POJOs.
* <p>
* This feature is available in the commercial distribution only.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setHiddenColumnsInPojos(Boolean value) {
this.hiddenColumnsInPojos = value;
}
/**
* Whether hidden columns should be generated in interfaces.
* <p>
* This feature is available in the commercial distribution only.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean isHiddenColumnsInInterfaces() {
return hiddenColumnsInInterfaces;
}
/**
* Whether hidden columns should be generated in interfaces.
* <p>
* This feature is available in the commercial distribution only.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setHiddenColumnsInInterfaces(Boolean value) {
this.hiddenColumnsInInterfaces = value;
}
/**
* Generate index information.
*
@ -4093,6 +4183,39 @@ public class Generate implements Serializable, XMLAppendable
return this;
}
/**
* Whether hidden columns should be generated in records.
* <p>
* This feature is available in the commercial distribution only.
*
*/
public Generate withHiddenColumnsInRecords(Boolean value) {
setHiddenColumnsInRecords(value);
return this;
}
/**
* Whether hidden columns should be generated in POJOs.
* <p>
* This feature is available in the commercial distribution only.
*
*/
public Generate withHiddenColumnsInPojos(Boolean value) {
setHiddenColumnsInPojos(value);
return this;
}
/**
* Whether hidden columns should be generated in interfaces.
* <p>
* This feature is available in the commercial distribution only.
*
*/
public Generate withHiddenColumnsInInterfaces(Boolean value) {
setHiddenColumnsInInterfaces(value);
return this;
}
@Override
public final void appendTo(XMLBuilder builder) {
builder.append("indexes", indexes);
@ -4210,6 +4333,9 @@ public class Generate implements Serializable, XMLAppendable
builder.append("whereMethodOverrides", whereMethodOverrides);
builder.append("renameMethodOverrides", renameMethodOverrides);
builder.append("asMethodOverrides", asMethodOverrides);
builder.append("hiddenColumnsInRecords", hiddenColumnsInRecords);
builder.append("hiddenColumnsInPojos", hiddenColumnsInPojos);
builder.append("hiddenColumnsInInterfaces", hiddenColumnsInInterfaces);
}
@Override
@ -5266,6 +5392,33 @@ public class Generate implements Serializable, XMLAppendable
return false;
}
}
if (hiddenColumnsInRecords == null) {
if (other.hiddenColumnsInRecords!= null) {
return false;
}
} else {
if (!hiddenColumnsInRecords.equals(other.hiddenColumnsInRecords)) {
return false;
}
}
if (hiddenColumnsInPojos == null) {
if (other.hiddenColumnsInPojos!= null) {
return false;
}
} else {
if (!hiddenColumnsInPojos.equals(other.hiddenColumnsInPojos)) {
return false;
}
}
if (hiddenColumnsInInterfaces == null) {
if (other.hiddenColumnsInInterfaces!= null) {
return false;
}
} else {
if (!hiddenColumnsInInterfaces.equals(other.hiddenColumnsInInterfaces)) {
return false;
}
}
return true;
}
@ -5388,6 +5541,9 @@ public class Generate implements Serializable, XMLAppendable
result = ((prime*result)+((whereMethodOverrides == null)? 0 :whereMethodOverrides.hashCode()));
result = ((prime*result)+((renameMethodOverrides == null)? 0 :renameMethodOverrides.hashCode()));
result = ((prime*result)+((asMethodOverrides == null)? 0 :asMethodOverrides.hashCode()));
result = ((prime*result)+((hiddenColumnsInRecords == null)? 0 :hiddenColumnsInRecords.hashCode()));
result = ((prime*result)+((hiddenColumnsInPojos == null)? 0 :hiddenColumnsInPojos.hashCode()));
result = ((prime*result)+((hiddenColumnsInInterfaces == null)? 0 :hiddenColumnsInInterfaces.hashCode()));
return result;
}

View File

@ -2196,6 +2196,14 @@ This has no effect on matched objects that are not columns.
This feature is available in the commercial distribution only.]]></jxb:javadoc></jxb:property></appinfo></annotation>
</element>
<element name="hidden" type="boolean" minOccurs="0" maxOccurs="1" default="false">
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The hidden flag allows for hiding columns from usage in queries by default, unless explicitly projected..
<p>
This has no effect on matched objects that are not columns.
<p>
This feature is available in the commercial distribution only.]]></jxb:javadoc></jxb:property></appinfo></annotation>
</element>
<element name="generator" type="string" minOccurs="0" maxOccurs="1">
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[A {@link org.jooq.Generator} implementation used for client-side computed columns.
<p>
@ -2889,6 +2897,24 @@ This flag is ignored in the commercial Java 6 distribution of jOOQ 3.9+ ]]></jxb
<element name="asMethodOverrides" type="boolean" minOccurs="0" maxOccurs="1" default="true">
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether to generate overrides for {@link org.jooq.Table#as(org.jooq.Name)} and related overloads.]]></jxb:javadoc></jxb:property></appinfo></annotation>
</element>
<element name="hiddenColumnsInRecords" type="boolean" minOccurs="0" maxOccurs="1" default="false">
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether hidden columns should be generated in records.
<p>
This feature is available in the commercial distribution only.]]></jxb:javadoc></jxb:property></appinfo></annotation>
</element>
<element name="hiddenColumnsInPojos" type="boolean" minOccurs="0" maxOccurs="1" default="false">
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether hidden columns should be generated in POJOs.
<p>
This feature is available in the commercial distribution only.]]></jxb:javadoc></jxb:property></appinfo></annotation>
</element>
<element name="hiddenColumnsInInterfaces" type="boolean" minOccurs="0" maxOccurs="1" default="false">
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether hidden columns should be generated in interfaces.
<p>
This feature is available in the commercial distribution only.]]></jxb:javadoc></jxb:property></appinfo></annotation>
</element>
</all>
</complexType>