Skip to content

Commit 22ccb06

Browse files
committed
Use interfaces when possible
1 parent 12e3de0 commit 22ccb06

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

src/main/java/org/mybatis/dynamic/sql/select/AbstractHavingStarter.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@
2525
import org.mybatis.dynamic.sql.SqlCriterion;
2626
import org.mybatis.dynamic.sql.VisitableCondition;
2727

28-
public abstract class AbstractHavingStarter<F extends AbstractHavingFinisher<?>> {
28+
public interface AbstractHavingStarter<F extends AbstractHavingFinisher<?>> {
2929

30-
public <T> F having(BindableColumn<T> column, VisitableCondition<T> condition,
30+
default <T> F having(BindableColumn<T> column, VisitableCondition<T> condition,
3131
AndOrCriteriaGroup... subCriteria) {
3232
return having(column, condition, Arrays.asList(subCriteria));
3333
}
3434

35-
public <T> F having(BindableColumn<T> column, VisitableCondition<T> condition,
35+
default <T> F having(BindableColumn<T> column, VisitableCondition<T> condition,
3636
List<AndOrCriteriaGroup> subCriteria) {
3737
SqlCriterion sqlCriterion = ColumnAndConditionCriterion.withColumn(column)
3838
.withCondition(condition)
@@ -42,11 +42,11 @@ public <T> F having(BindableColumn<T> column, VisitableCondition<T> condition,
4242
return initialize(sqlCriterion);
4343
}
4444

45-
public F having(SqlCriterion initialCriterion, AndOrCriteriaGroup... subCriteria) {
45+
default F having(SqlCriterion initialCriterion, AndOrCriteriaGroup... subCriteria) {
4646
return having(initialCriterion, Arrays.asList(subCriteria));
4747
}
4848

49-
public F having(SqlCriterion initialCriterion, List<AndOrCriteriaGroup> subCriteria) {
49+
default F having(SqlCriterion initialCriterion, List<AndOrCriteriaGroup> subCriteria) {
5050
SqlCriterion sqlCriterion = new CriteriaGroup.Builder()
5151
.withInitialCriterion(initialCriterion)
5252
.withSubCriteria(subCriteria)
@@ -55,9 +55,9 @@ public F having(SqlCriterion initialCriterion, List<AndOrCriteriaGroup> subCrite
5555
return initialize(sqlCriterion);
5656
}
5757

58-
protected abstract F having();
58+
F having();
5959

60-
public F applyHaving(HavingApplier havingApplier) {
60+
default F applyHaving(HavingApplier havingApplier) {
6161
F finisher = having();
6262
havingApplier.accept(finisher);
6363
return finisher;

src/main/java/org/mybatis/dynamic/sql/select/HavingDSL.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717

1818
import org.mybatis.dynamic.sql.util.Buildable;
1919

20-
public class HavingDSL extends AbstractHavingStarter<HavingDSL.StandaloneHavingFinisher> {
20+
public class HavingDSL implements AbstractHavingStarter<HavingDSL.StandaloneHavingFinisher> {
2121
private final StandaloneHavingFinisher havingFinisher = new StandaloneHavingFinisher();
2222

2323
@Override
24-
protected StandaloneHavingFinisher having() {
24+
public StandaloneHavingFinisher having() {
2525
return havingFinisher;
2626
}
2727

src/main/java/org/mybatis/dynamic/sql/select/QueryExpressionDSL.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -477,8 +477,8 @@ public SelectDSL<R> getSelectDSL() {
477477
}
478478
}
479479

480-
public class GroupByFinisher extends AbstractHavingStarter<QueryExpressionHavingBuilder>
481-
implements Buildable<R>, SelectDSLOperations<R> {
480+
public class GroupByFinisher implements AbstractHavingStarter<QueryExpressionHavingBuilder>,
481+
Buildable<R>, SelectDSLOperations<R> {
482482
public SelectDSL<R> orderBy(SortSpecification... columns) {
483483
return orderBy(Arrays.asList(columns));
484484
}

0 commit comments

Comments
 (0)