Skip to content

Commit 9fcc42b

Browse files
committed
WhereApplier is a Consumer, not a Function
This change allows us to get rid of a clumsy cast, and more clearly expresses the intent of what a WhereSupplier actually is. Plus it avoids some danger - we do not want users changing the underlying implementation.
1 parent 7f6dee4 commit 9fcc42b

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

src/main/java/org/mybatis/dynamic/sql/where/AbstractWhereDSL.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
public abstract class AbstractWhereDSL<T extends AbstractWhereDSL<T>> {
2727
private List<SqlCriterion<?>> criteria = new ArrayList<>();
2828

29-
protected <S> AbstractWhereDSL() {
29+
protected AbstractWhereDSL() {
3030
super();
3131
}
3232

@@ -45,9 +45,9 @@ public <S> T where(BindableColumn<S> column, VisitableCondition<S> condition, Li
4545
return getThis();
4646
}
4747

48-
@SuppressWarnings("unchecked")
4948
public T applyWhere(WhereApplier whereApplier) {
50-
return (T) whereApplier.apply(this);
49+
whereApplier.accept(this);
50+
return getThis();
5151
}
5252

5353
public <S> T and(BindableColumn<S> column, VisitableCondition<S> condition) {

src/main/java/org/mybatis/dynamic/sql/where/WhereApplier.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package org.mybatis.dynamic.sql.where;
1717

18-
import java.util.function.UnaryOperator;
18+
import java.util.function.Consumer;
1919

2020
@FunctionalInterface
21-
public interface WhereApplier extends UnaryOperator<AbstractWhereDSL<?>> {}
21+
public interface WhereApplier extends Consumer<AbstractWhereDSL<?>> {}

src/main/kotlin/org/mybatis/dynamic/sql/util/kotlin/AbstractWhereDSLExtensions.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import org.mybatis.dynamic.sql.BindableColumn
1919
import org.mybatis.dynamic.sql.VisitableCondition
2020
import org.mybatis.dynamic.sql.where.AbstractWhereDSL
2121

22-
typealias WhereApplier = AbstractWhereDSL<*>.() -> AbstractWhereDSL<*>
22+
typealias WhereApplier = AbstractWhereDSL<*>.() -> Unit
2323

2424
fun <T, M : AbstractWhereDSL<M>> AbstractWhereDSL<M>.where(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver): M {
2525
val collector = CriteriaCollector()

0 commit comments

Comments
 (0)