Skip to content

Commit bacb250

Browse files
committed
More code optimizations
1 parent 1757473 commit bacb250

File tree

3 files changed

+35
-31
lines changed

3 files changed

+35
-31
lines changed

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.Arrays;
2020
import java.util.List;
2121

22+
import org.jetbrains.annotations.NotNull;
2223
import org.mybatis.dynamic.sql.BindableColumn;
2324
import org.mybatis.dynamic.sql.SqlCriterion;
2425
import org.mybatis.dynamic.sql.VisitableCondition;
@@ -30,51 +31,61 @@ protected AbstractWhereDSL() {
3031
super();
3132
}
3233

34+
@NotNull
3335
public <S> T where(BindableColumn<S> column, VisitableCondition<S> condition) {
3436
addCriterion(column, condition);
3537
return getThis();
3638
}
3739

40+
@NotNull
3841
public <S> T where(BindableColumn<S> column, VisitableCondition<S> condition, SqlCriterion<?>...subCriteria) {
3942
addCriterion(column, condition, Arrays.asList(subCriteria));
4043
return getThis();
4144
}
4245

46+
@NotNull
4347
public <S> T where(BindableColumn<S> column, VisitableCondition<S> condition, List<SqlCriterion<?>> subCriteria) {
4448
addCriterion(column, condition, subCriteria);
4549
return getThis();
4650
}
4751

52+
@NotNull
4853
public T applyWhere(WhereApplier whereApplier) {
4954
whereApplier.accept(this);
5055
return getThis();
5156
}
5257

58+
@NotNull
5359
public <S> T and(BindableColumn<S> column, VisitableCondition<S> condition) {
5460
addCriterion("and", column, condition); //$NON-NLS-1$
5561
return getThis();
5662
}
5763

64+
@NotNull
5865
public <S> T and(BindableColumn<S> column, VisitableCondition<S> condition, SqlCriterion<?>...subCriteria) {
5966
addCriterion("and", column, condition, Arrays.asList(subCriteria)); //$NON-NLS-1$
6067
return getThis();
6168
}
6269

70+
@NotNull
6371
public <S> T and(BindableColumn<S> column, VisitableCondition<S> condition, List<SqlCriterion<?>> subCriteria) {
6472
addCriterion("and", column, condition, subCriteria); //$NON-NLS-1$
6573
return getThis();
6674
}
6775

76+
@NotNull
6877
public <S> T or(BindableColumn<S> column, VisitableCondition<S> condition) {
6978
addCriterion("or", column, condition); //$NON-NLS-1$
7079
return getThis();
7180
}
7281

82+
@NotNull
7383
public <S> T or(BindableColumn<S> column, VisitableCondition<S> condition, SqlCriterion<?>...subCriteria) {
7484
addCriterion("or", column, condition, Arrays.asList(subCriteria)); //$NON-NLS-1$
7585
return getThis();
7686
}
7787

88+
@NotNull
7889
public <S> T or(BindableColumn<S> column, VisitableCondition<S> condition, List<SqlCriterion<?>> subCriteria) {
7990
addCriterion("or", column, condition, subCriteria); //$NON-NLS-1$
8091
return getThis();

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

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,56 +21,48 @@ import org.mybatis.dynamic.sql.select.SelectModel
2121

2222
fun <T : AbstractQueryExpressionDSL<T, SelectModel>> AbstractQueryExpressionDSL<T, SelectModel>
2323
.join(table: SqlTable, collect: JoinReceiver): T {
24-
val collector = JoinCollector()
25-
collect(collector)
24+
val collector = collect(JoinCollector())
2625
return join(table, collector.onJoinCriterion, collector.andJoinCriteria)
2726
}
2827

2928
fun <T : AbstractQueryExpressionDSL<T, SelectModel>> AbstractQueryExpressionDSL<T, SelectModel>
3029
.join(table: SqlTable, alias: String, collect: JoinReceiver): T {
31-
val collector = JoinCollector()
32-
collect(collector)
30+
val collector = collect(JoinCollector())
3331
return join(table, alias, collector.onJoinCriterion, collector.andJoinCriteria)
3432
}
3533

3634
fun <T : AbstractQueryExpressionDSL<T, SelectModel>> AbstractQueryExpressionDSL<T, SelectModel>
3735
.fullJoin(table: SqlTable, collect: JoinReceiver): T {
38-
val collector = JoinCollector()
39-
collect(collector)
36+
val collector = collect(JoinCollector())
4037
return fullJoin(table, collector.onJoinCriterion, collector.andJoinCriteria)
4138
}
4239

4340
fun <T : AbstractQueryExpressionDSL<T, SelectModel>> AbstractQueryExpressionDSL<T, SelectModel>
4441
.fullJoin(table: SqlTable, alias: String, collect: JoinReceiver): T {
45-
val collector = JoinCollector()
46-
collect(collector)
42+
val collector = collect(JoinCollector())
4743
return fullJoin(table, alias, collector.onJoinCriterion, collector.andJoinCriteria)
4844
}
4945

5046
fun <T : AbstractQueryExpressionDSL<T, SelectModel>> AbstractQueryExpressionDSL<T, SelectModel>
5147
.leftJoin(table: SqlTable, collect: JoinReceiver): T {
52-
val collector = JoinCollector()
53-
collect(collector)
48+
val collector = collect(JoinCollector())
5449
return leftJoin(table, collector.onJoinCriterion, collector.andJoinCriteria)
5550
}
5651

5752
fun <T : AbstractQueryExpressionDSL<T, SelectModel>> AbstractQueryExpressionDSL<T, SelectModel>
5853
.leftJoin(table: SqlTable, alias: String, collect: JoinReceiver): T {
59-
val collector = JoinCollector()
60-
collect(collector)
54+
val collector = collect(JoinCollector())
6155
return leftJoin(table, alias, collector.onJoinCriterion, collector.andJoinCriteria)
6256
}
6357

6458
fun <T : AbstractQueryExpressionDSL<T, SelectModel>> AbstractQueryExpressionDSL<T, SelectModel>
6559
.rightJoin(table: SqlTable, collect: JoinReceiver): T {
66-
val collector = JoinCollector()
67-
collect(collector)
60+
val collector = collect(JoinCollector())
6861
return rightJoin(table, collector.onJoinCriterion, collector.andJoinCriteria)
6962
}
7063

7164
fun <T : AbstractQueryExpressionDSL<T, SelectModel>> AbstractQueryExpressionDSL<T, SelectModel>
7265
.rightJoin(table: SqlTable, alias: String, collect: JoinReceiver): T {
73-
val collector = JoinCollector()
74-
collect(collector)
66+
val collector = collect(JoinCollector())
7567
return rightJoin(table, alias, collector.onJoinCriterion, collector.andJoinCriteria)
7668
}

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

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,21 @@ import org.mybatis.dynamic.sql.where.AbstractWhereDSL
2121

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

24-
fun <T, M : AbstractWhereDSL<M>> AbstractWhereDSL<M>.where(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver): M {
25-
val collector = CriteriaCollector()
26-
collect(collector)
27-
return where(column, condition, collector.criteria)
28-
}
24+
fun <T, M : AbstractWhereDSL<M>> AbstractWhereDSL<M>.where(
25+
column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver
26+
) =
27+
where(column, condition, collect(CriteriaCollector()).criteria)
2928

30-
fun <T, M : AbstractWhereDSL<M>> AbstractWhereDSL<M>.and(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver): M {
31-
val collector = CriteriaCollector()
32-
collect(collector)
33-
return and(column, condition, collector.criteria)
34-
}
29+
fun <T, M : AbstractWhereDSL<M>> AbstractWhereDSL<M>.and(
30+
column: BindableColumn<T>,
31+
condition: VisitableCondition<T>,
32+
collect: CriteriaReceiver
33+
) =
34+
and(column, condition, collect(CriteriaCollector()).criteria)
3535

36-
fun <T, M : AbstractWhereDSL<M>> AbstractWhereDSL<M>.or(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver): M {
37-
val collector = CriteriaCollector()
38-
collect(collector)
39-
return or(column, condition, collector.criteria)
40-
}
36+
fun <T, M : AbstractWhereDSL<M>> AbstractWhereDSL<M>.or(
37+
column: BindableColumn<T>,
38+
condition: VisitableCondition<T>,
39+
collect: CriteriaReceiver
40+
) =
41+
or(column, condition, collect(CriteriaCollector()).criteria)

0 commit comments

Comments
 (0)