[jOOQ/jOOQ#12425] Move FieldCondition to API generator
This commit is contained in:
parent
6f0da04d3b
commit
a47bc76d70
@ -14264,28 +14264,6 @@ public class DSL {
|
||||
return condition(Tools.field(value));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a condition from a boolean field.
|
||||
* <p>
|
||||
* Databases that support boolean data types can use boolean expressions
|
||||
* as predicates or as columns interchangeably. This extends to any type
|
||||
* of field, including functions. A Postgres example:
|
||||
* <p>
|
||||
* <code><pre>
|
||||
* select 1 where texteq('a', 'a');
|
||||
* </pre></code>
|
||||
*
|
||||
* @param field The boolean expression.
|
||||
* @return A condition wrapping the boolean expression
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
public static Condition condition(Field<Boolean> field) {
|
||||
return field instanceof ConditionAsField
|
||||
? ((ConditionAsField) field).condition
|
||||
: new FieldCondition(field);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a condition from a map.
|
||||
* <p>
|
||||
@ -19790,7 +19768,7 @@ public class DSL {
|
||||
/**
|
||||
* The <code>FIELD</code> function.
|
||||
* <p>
|
||||
* Transform a condition into a boolean field.
|
||||
* Wrap a condition in a boolean field.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
@ -19798,6 +19776,25 @@ public class DSL {
|
||||
return condition instanceof FieldCondition ? ((FieldCondition) condition).field : new ConditionAsField(condition);
|
||||
}
|
||||
|
||||
/**
|
||||
* The <code>CONDITION</code> function.
|
||||
* <p>
|
||||
* Create a condition from a boolean field.
|
||||
* <p>
|
||||
* Databases that support boolean data types can use boolean expressions
|
||||
* as predicates or as columns interchangeably. This extends to any type
|
||||
* of field, including functions. A Postgres example:
|
||||
* <p>
|
||||
* <code><pre>
|
||||
* select 1 where texteq('a', 'a');
|
||||
* </pre></code>
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
public static Condition condition(Field<Boolean> field) {
|
||||
return field instanceof ConditionAsField ? ((ConditionAsField) field).condition : new FieldCondition(field);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Aggregate functions
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@ -37,24 +37,52 @@
|
||||
*/
|
||||
package org.jooq.impl;
|
||||
|
||||
import static org.jooq.impl.DSL.inline;
|
||||
import static org.jooq.impl.DSL.*;
|
||||
import static org.jooq.impl.Internal.*;
|
||||
import static org.jooq.impl.Keywords.*;
|
||||
import static org.jooq.impl.Names.*;
|
||||
import static org.jooq.impl.SQLDataType.*;
|
||||
import static org.jooq.impl.Tools.*;
|
||||
import static org.jooq.impl.Tools.BooleanDataKey.*;
|
||||
import static org.jooq.impl.Tools.DataExtendedKey.*;
|
||||
import static org.jooq.impl.Tools.DataKey.*;
|
||||
import static org.jooq.SQLDialect.*;
|
||||
|
||||
import org.jooq.*;
|
||||
import org.jooq.Record;
|
||||
import org.jooq.conf.*;
|
||||
import org.jooq.impl.*;
|
||||
import org.jooq.tools.*;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.*;
|
||||
import java.util.stream.*;
|
||||
|
||||
import org.jooq.Clause;
|
||||
import org.jooq.Context;
|
||||
import org.jooq.Field;
|
||||
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
* The <code>CONDITION</code> statement.
|
||||
*/
|
||||
final class FieldCondition extends AbstractCondition {
|
||||
final Field<Boolean> field;
|
||||
@SuppressWarnings({ "rawtypes", "unchecked", "unused" })
|
||||
final class FieldCondition
|
||||
extends
|
||||
AbstractCondition
|
||||
{
|
||||
|
||||
FieldCondition(Field<Boolean> field) {
|
||||
this.field = field;
|
||||
final Field<Boolean> field;
|
||||
|
||||
FieldCondition(
|
||||
Field<Boolean> field
|
||||
) {
|
||||
|
||||
this.field = nullSafeNotNull(field, BOOLEAN);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// XXX: QueryPart API
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public void accept(Context<?> ctx) {
|
||||
public final void accept(Context<?> ctx) {
|
||||
switch (ctx.family()) {
|
||||
|
||||
|
||||
@ -62,7 +90,6 @@ final class FieldCondition extends AbstractCondition {
|
||||
|
||||
|
||||
|
||||
// [#2485] Some of these don't work nicely, yet
|
||||
|
||||
|
||||
|
||||
@ -83,9 +110,29 @@ final class FieldCondition extends AbstractCondition {
|
||||
}
|
||||
}
|
||||
|
||||
@Override // Avoid AbstractCondition implementation
|
||||
public final Clause[] clauses(Context<?> ctx) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// The Object API
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public boolean equals(Object that) {
|
||||
if (that instanceof FieldCondition) {
|
||||
return
|
||||
StringUtils.equals(field, ((FieldCondition) that).field)
|
||||
;
|
||||
}
|
||||
else
|
||||
return super.equals(that);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user