[jOOQ/jOOQ#12893] Add an Replacers.listening(Replacer, BiConsumer<QueryPart, QueryPart>) to allow for listening to QueryPart.() events

This commit is contained in:
Lukas Eder 2022-05-06 11:23:10 +02:00
parent 6f099c6cc9
commit c77fbb5e55
4 changed files with 95 additions and 0 deletions

View File

@ -37,6 +37,36 @@
*/
package org.jooq;
import java.util.function.BiConsumer;

View File

@ -117,6 +117,8 @@ public class Settings
@XmlElement(defaultValue = "false")
protected Boolean transformPatterns = false;
@XmlElement(defaultValue = "true")
protected Boolean transformPatternsLogging = true;
@XmlElement(defaultValue = "true")
protected Boolean transformPatternsTrim = true;
@XmlElement(defaultValue = "true")
protected Boolean transformPatternsNotNot = true;
@ -1211,6 +1213,30 @@ public class Settings
this.transformPatterns = value;
}
/**
* Activate debug logging of the {@link #transformPatterns} feature.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean isTransformPatternsLogging() {
return transformPatternsLogging;
}
/**
* Sets the value of the transformPatternsLogging property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setTransformPatternsLogging(Boolean value) {
this.transformPatternsLogging = value;
}
/**
* Transform <code>LTRIM(RTRIM(x))</code> or <code>RTRIM(LTRIM(x))</code> to <code>TRIM(x)</code>.
* <p>
@ -4241,6 +4267,11 @@ public class Settings
return this;
}
public Settings withTransformPatternsLogging(Boolean value) {
setTransformPatternsLogging(value);
return this;
}
public Settings withTransformPatternsTrim(Boolean value) {
setTransformPatternsTrim(value);
return this;
@ -5196,6 +5227,7 @@ public class Settings
builder.append("fetchTriggerValuesAfterSQLServerOutput", fetchTriggerValuesAfterSQLServerOutput);
builder.append("fetchIntermediateResult", fetchIntermediateResult);
builder.append("transformPatterns", transformPatterns);
builder.append("transformPatternsLogging", transformPatternsLogging);
builder.append("transformPatternsTrim", transformPatternsTrim);
builder.append("transformPatternsNotNot", transformPatternsNotNot);
builder.append("transformPatternsNotComparison", transformPatternsNotComparison);
@ -5635,6 +5667,15 @@ public class Settings
return false;
}
}
if (transformPatternsLogging == null) {
if (other.transformPatternsLogging!= null) {
return false;
}
} else {
if (!transformPatternsLogging.equals(other.transformPatternsLogging)) {
return false;
}
}
if (transformPatternsTrim == null) {
if (other.transformPatternsTrim!= null) {
return false;
@ -6764,6 +6805,7 @@ public class Settings
result = ((prime*result)+((fetchTriggerValuesAfterSQLServerOutput == null)? 0 :fetchTriggerValuesAfterSQLServerOutput.hashCode()));
result = ((prime*result)+((fetchIntermediateResult == null)? 0 :fetchIntermediateResult.hashCode()));
result = ((prime*result)+((transformPatterns == null)? 0 :transformPatterns.hashCode()));
result = ((prime*result)+((transformPatternsLogging == null)? 0 :transformPatternsLogging.hashCode()));
result = ((prime*result)+((transformPatternsTrim == null)? 0 :transformPatternsTrim.hashCode()));
result = ((prime*result)+((transformPatternsNotNot == null)? 0 :transformPatternsNotNot.hashCode()));
result = ((prime*result)+((transformPatternsNotComparison == null)? 0 :transformPatternsNotComparison.hashCode()));

View File

@ -1547,6 +1547,25 @@ package org.jooq.impl;

View File

@ -284,6 +284,10 @@ default.
This feature is available in the commercial distribution only.]]></jxb:javadoc></jxb:property></appinfo></annotation>
</element>
<element name="transformPatternsLogging" type="boolean" minOccurs="0" maxOccurs="1" default="true">
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Activate debug logging of the {@link #transformPatterns} feature.]]></jxb:javadoc></jxb:property></appinfo></annotation>
</element>
<element name="transformPatternsTrim" type="boolean" minOccurs="0" maxOccurs="1" default="true">
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Transform <code>LTRIM(RTRIM(x))</code> or <code>RTRIM(LTRIM(x))</code> to <code>TRIM(x)</code>.
<p>