Skip to content

Commit 94f3a9f

Browse files
committed
Kotlin Updates
- Make consistent functions for building providers - Make consistent functions for executing mappers - Format code according to Kotlin style guide
1 parent 449004d commit 94f3a9f

26 files changed

+540
-510
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,3 @@ fun <T : AbstractQueryExpressionDSL<T, SelectModel>> AbstractQueryExpressionDSL<
7474
collect(collector)
7575
return rightJoin(table, alias, collector.onJoinCriterion, collector.andJoinCriteria)
7676
}
77-

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,13 @@ import org.mybatis.dynamic.sql.BindableColumn
1919
import org.mybatis.dynamic.sql.VisitableCondition
2020
import org.mybatis.dynamic.sql.where.AbstractWhereDSL
2121

22-
fun <T,M : AbstractWhereDSL<M>> AbstractWhereDSL<M>.and(column: BindableColumn<T>, condition: VisitableCondition<T>,
23-
collect: CriteriaReceiver): M {
22+
fun <T, M : AbstractWhereDSL<M>> AbstractWhereDSL<M>.and(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver): M {
2423
val collector = CriteriaCollector()
2524
collect(collector)
2625
return and(column, condition, collector.criteria)
2726
}
2827

29-
fun <T,M : AbstractWhereDSL<M>> AbstractWhereDSL<M>.or(column: BindableColumn<T>, condition: VisitableCondition<T>,
30-
collect: CriteriaReceiver): M {
28+
fun <T, M : AbstractWhereDSL<M>> AbstractWhereDSL<M>.or(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver): M {
3129
val collector = CriteriaCollector()
3230
collect(collector)
3331
return or(column, condition, collector.criteria)

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

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -17,40 +17,35 @@ package org.mybatis.dynamic.sql.util.kotlin
1717

1818
import org.mybatis.dynamic.sql.BindableColumn
1919
import org.mybatis.dynamic.sql.VisitableCondition
20-
import org.mybatis.dynamic.sql.delete.DeleteDSL
21-
import org.mybatis.dynamic.sql.delete.DeleteModel
2220
import org.mybatis.dynamic.sql.select.CountDSL
2321
import org.mybatis.dynamic.sql.select.SelectModel
2422
import org.mybatis.dynamic.sql.util.Buildable
2523

2624
typealias CountCompleter = CountDSL<SelectModel>.() -> Buildable<SelectModel>
2725

28-
fun <T> CountDSL<SelectModel>.where(column: BindableColumn<T>, condition: VisitableCondition<T>,
29-
collect: CriteriaReceiver) =
30-
apply {
31-
where().and(column, condition, collect)
32-
}
26+
fun <T> CountDSL<SelectModel>.where(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver) =
27+
apply {
28+
where().and(column, condition, collect)
29+
}
3330

3431
fun <T> CountDSL<SelectModel>.and(column: BindableColumn<T>, condition: VisitableCondition<T>) =
35-
apply {
36-
where().and(column, condition)
37-
}
32+
apply {
33+
where().and(column, condition)
34+
}
3835

39-
fun <T> CountDSL<SelectModel>.and(column: BindableColumn<T>, condition: VisitableCondition<T>,
40-
collect: CriteriaReceiver) =
41-
apply {
42-
where().and(column, condition, collect)
43-
}
36+
fun <T> CountDSL<SelectModel>.and(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver) =
37+
apply {
38+
where().and(column, condition, collect)
39+
}
4440

4541
fun <T> CountDSL<SelectModel>.or(column: BindableColumn<T>, condition: VisitableCondition<T>) =
46-
apply {
47-
where().or(column, condition)
48-
}
49-
50-
fun <T> CountDSL<SelectModel>.or(column: BindableColumn<T>, condition: VisitableCondition<T>,
51-
collect: CriteriaReceiver) =
52-
apply {
53-
where().or(column, condition, collect)
54-
}
42+
apply {
43+
where().or(column, condition)
44+
}
45+
46+
fun <T> CountDSL<SelectModel>.or(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver) =
47+
apply {
48+
where().or(column, condition, collect)
49+
}
5550

5651
fun CountDSL<SelectModel>.allRows() = this as Buildable<SelectModel>

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

Lines changed: 34 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -25,44 +25,42 @@ class CriteriaCollector {
2525
val criteria = mutableListOf<SqlCriterion<*>>()
2626

2727
fun <T> and(column: BindableColumn<T>, condition: VisitableCondition<T>) =
28-
apply {
29-
criteria.add(SqlCriterion.withColumn(column)
30-
.withCondition(condition)
31-
.withConnector("and")
32-
.build())
33-
}
28+
apply {
29+
criteria.add(SqlCriterion.withColumn(column)
30+
.withCondition(condition)
31+
.withConnector("and")
32+
.build())
33+
}
3434

35-
fun <T> and(column: BindableColumn<T>, condition: VisitableCondition<T>,
36-
collect: CriteriaCollector.() -> CriteriaCollector) =
37-
apply {
38-
val collector = CriteriaCollector()
39-
collect(collector)
40-
val criterion: SqlCriterion<T> = SqlCriterion.withColumn(column)
41-
.withCondition(condition)
42-
.withSubCriteria(collector.criteria)
43-
.withConnector("and")
44-
.build()
45-
criteria.add(criterion)
46-
}
35+
fun <T> and(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaCollector.() -> CriteriaCollector) =
36+
apply {
37+
val collector = CriteriaCollector()
38+
collect(collector)
39+
val criterion: SqlCriterion<T> = SqlCriterion.withColumn(column)
40+
.withCondition(condition)
41+
.withSubCriteria(collector.criteria)
42+
.withConnector("and")
43+
.build()
44+
criteria.add(criterion)
45+
}
4746

4847
fun <T> or(column: BindableColumn<T>, condition: VisitableCondition<T>) =
49-
apply {
50-
criteria.add(SqlCriterion.withColumn(column)
51-
.withCondition(condition)
52-
.withConnector("or")
53-
.build())
54-
}
48+
apply {
49+
criteria.add(SqlCriterion.withColumn(column)
50+
.withCondition(condition)
51+
.withConnector("or")
52+
.build())
53+
}
5554

56-
fun <T> or(column: BindableColumn<T>, condition: VisitableCondition<T>,
57-
collect: CriteriaCollector.() -> CriteriaCollector) =
58-
apply {
59-
val collector = CriteriaCollector()
60-
collect(collector)
61-
val criterion: SqlCriterion<T> = SqlCriterion.withColumn(column)
62-
.withCondition(condition)
63-
.withSubCriteria(collector.criteria)
64-
.withConnector("or")
65-
.build()
66-
criteria.add(criterion)
67-
}
55+
fun <T> or(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaCollector.() -> CriteriaCollector) =
56+
apply {
57+
val collector = CriteriaCollector()
58+
collect(collector)
59+
val criterion: SqlCriterion<T> = SqlCriterion.withColumn(column)
60+
.withCondition(condition)
61+
.withSubCriteria(collector.criteria)
62+
.withConnector("or")
63+
.build()
64+
criteria.add(criterion)
65+
}
6866
}

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

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,32 +23,29 @@ import org.mybatis.dynamic.sql.util.Buildable
2323

2424
typealias DeleteCompleter = DeleteDSL<DeleteModel>.() -> Buildable<DeleteModel>
2525

26-
fun <T> DeleteDSL<DeleteModel>.where(column: BindableColumn<T>, condition: VisitableCondition<T>,
27-
collect: CriteriaReceiver) =
28-
apply {
29-
where().and(column, condition, collect)
30-
}
26+
fun <T> DeleteDSL<DeleteModel>.where(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver) =
27+
apply {
28+
where().and(column, condition, collect)
29+
}
3130

3231
fun <T> DeleteDSL<DeleteModel>.and(column: BindableColumn<T>, condition: VisitableCondition<T>) =
33-
apply {
34-
where().and(column, condition)
35-
}
32+
apply {
33+
where().and(column, condition)
34+
}
3635

37-
fun <T> DeleteDSL<DeleteModel>.and(column: BindableColumn<T>, condition: VisitableCondition<T>,
38-
collect: CriteriaReceiver) =
39-
apply {
40-
where().and(column, condition, collect)
41-
}
36+
fun <T> DeleteDSL<DeleteModel>.and(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver) =
37+
apply {
38+
where().and(column, condition, collect)
39+
}
4240

4341
fun <T> DeleteDSL<DeleteModel>.or(column: BindableColumn<T>, condition: VisitableCondition<T>) =
44-
apply {
45-
where().or(column, condition)
46-
}
47-
48-
fun <T> DeleteDSL<DeleteModel>.or(column: BindableColumn<T>, condition: VisitableCondition<T>,
49-
collect: CriteriaReceiver) =
50-
apply {
51-
where().or(column, condition, collect)
52-
}
42+
apply {
43+
where().or(column, condition)
44+
}
45+
46+
fun <T> DeleteDSL<DeleteModel>.or(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver) =
47+
apply {
48+
where().or(column, condition, collect)
49+
}
5350

5451
fun DeleteDSL<DeleteModel>.allRows() = this as Buildable<DeleteModel>

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

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,12 @@ import org.mybatis.dynamic.sql.SqlTable
1919
import org.mybatis.dynamic.sql.select.QueryExpressionDSL
2020
import org.mybatis.dynamic.sql.select.SelectModel
2121

22-
// These functions are intended for use in a Join mapper where a join is setup before the remainder
23-
// of the query is completed
24-
2522
typealias QueryExpressionEnhancer = QueryExpressionDSL<SelectModel>.() -> QueryExpressionDSL<SelectModel>
2623

27-
fun QueryExpressionDSL.FromGatherer<SelectModel>.fromJoining(table: SqlTable,
28-
enhance: QueryExpressionEnhancer) =
29-
enhance(from(table))
24+
// These functions are intended for use in a Join mapper where a join is setup before the remainder
25+
// of the query is completed
26+
fun QueryExpressionDSL.FromGatherer<SelectModel>.from(table: SqlTable, enhancer: QueryExpressionEnhancer) =
27+
enhancer(from(table))
3028

31-
fun QueryExpressionDSL.FromGatherer<SelectModel>.fromJoining(table: SqlTable, alias: String,
32-
enhance: QueryExpressionEnhancer) =
33-
enhance(from(table, alias))
29+
fun QueryExpressionDSL.FromGatherer<SelectModel>.from(table: SqlTable, alias: String, enhancer: QueryExpressionEnhancer) =
30+
enhancer(from(table, alias))

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

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,20 @@ class JoinCollector {
2626
val andJoinCriteria = mutableListOf<JoinCriterion>()
2727

2828
fun on(column: BasicColumn, condition: JoinCondition) =
29-
apply {
30-
onJoinCriterion = JoinCriterion.Builder()
31-
.withConnector("on")
32-
.withJoinColumn(column)
33-
.withJoinCondition(condition)
34-
.build()
35-
}
29+
apply {
30+
onJoinCriterion = JoinCriterion.Builder()
31+
.withConnector("on")
32+
.withJoinColumn(column)
33+
.withJoinCondition(condition)
34+
.build()
35+
}
3636

3737
fun and(column: BasicColumn, condition: JoinCondition) =
38-
apply {
39-
andJoinCriteria.add(JoinCriterion.Builder()
40-
.withConnector("and")
41-
.withJoinColumn(column)
42-
.withJoinCondition(condition)
43-
.build())
44-
45-
}
38+
apply {
39+
andJoinCriteria.add(JoinCriterion.Builder()
40+
.withConnector("and")
41+
.withJoinColumn(column)
42+
.withJoinCondition(condition)
43+
.build())
44+
}
4645
}

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

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,32 +23,29 @@ import org.mybatis.dynamic.sql.util.Buildable
2323

2424
typealias SelectCompleter = QueryExpressionDSL<SelectModel>.() -> Buildable<SelectModel>
2525

26-
fun <T> QueryExpressionDSL<SelectModel>.where(column: BindableColumn<T>, condition: VisitableCondition<T>,
27-
collect: CriteriaReceiver) =
28-
apply {
29-
where().and(column, condition, collect)
30-
}
26+
fun <T> QueryExpressionDSL<SelectModel>.where(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver) =
27+
apply {
28+
where().and(column, condition, collect)
29+
}
3130

3231
fun <T> QueryExpressionDSL<SelectModel>.and(column: BindableColumn<T>, condition: VisitableCondition<T>) =
33-
apply {
34-
where().and(column, condition)
35-
}
32+
apply {
33+
where().and(column, condition)
34+
}
3635

37-
fun <T> QueryExpressionDSL<SelectModel>.and(column: BindableColumn<T>, condition: VisitableCondition<T>,
38-
collect: CriteriaReceiver) =
39-
apply {
40-
where().and(column, condition, collect)
41-
}
36+
fun <T> QueryExpressionDSL<SelectModel>.and(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver) =
37+
apply {
38+
where().and(column, condition, collect)
39+
}
4240

4341
fun <T> QueryExpressionDSL<SelectModel>.or(column: BindableColumn<T>, condition: VisitableCondition<T>) =
44-
apply {
45-
where().or(column, condition)
46-
}
47-
48-
fun <T> QueryExpressionDSL<SelectModel>.or(column: BindableColumn<T>, condition: VisitableCondition<T>,
49-
collect: CriteriaReceiver) =
50-
apply {
51-
where().or(column, condition, collect)
52-
}
42+
apply {
43+
where().or(column, condition)
44+
}
45+
46+
fun <T> QueryExpressionDSL<SelectModel>.or(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver) =
47+
apply {
48+
where().or(column, condition, collect)
49+
}
5350

5451
fun QueryExpressionDSL<SelectModel>.allRows() = this as Buildable<SelectModel>

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

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,27 @@ import org.mybatis.dynamic.sql.util.Buildable
2323

2424
typealias UpdateCompleter = UpdateDSL<UpdateModel>.() -> Buildable<UpdateModel>
2525

26-
fun <T> UpdateDSL<UpdateModel>.where(column: BindableColumn<T>, condition: VisitableCondition<T>,
27-
collect: CriteriaReceiver) =
28-
apply {
29-
where().and(column, condition, collect)
30-
}
26+
fun <T> UpdateDSL<UpdateModel>.where(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver) =
27+
apply {
28+
where().and(column, condition, collect)
29+
}
3130

3231
fun <T> UpdateDSL<UpdateModel>.and(column: BindableColumn<T>, condition: VisitableCondition<T>) =
33-
apply {
34-
where().and(column, condition)
35-
}
32+
apply {
33+
where().and(column, condition)
34+
}
3635

37-
fun <T> UpdateDSL<UpdateModel>.and(column: BindableColumn<T>, condition: VisitableCondition<T>,
38-
collect: CriteriaReceiver) =
39-
apply {
40-
where().and(column, condition, collect)
41-
}
36+
fun <T> UpdateDSL<UpdateModel>.and(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver) =
37+
apply {
38+
where().and(column, condition, collect)
39+
}
4240

4341
fun <T> UpdateDSL<UpdateModel>.or(column: BindableColumn<T>, condition: VisitableCondition<T>) =
44-
apply {
45-
where().or(column, condition)
46-
}
42+
apply {
43+
where().or(column, condition)
44+
}
4745

48-
fun <T> UpdateDSL<UpdateModel>.or(column: BindableColumn<T>, condition: VisitableCondition<T>,
49-
collect: CriteriaReceiver) =
50-
apply {
51-
where().or(column, condition, collect)
52-
}
46+
fun <T> UpdateDSL<UpdateModel>.or(column: BindableColumn<T>, condition: VisitableCondition<T>, collect: CriteriaReceiver) =
47+
apply {
48+
where().or(column, condition, collect)
49+
}

0 commit comments

Comments
 (0)