Skip to content

Commit ded78ca

Browse files
committed
Refactoring UserDefinedCriteria
1 parent 66847ec commit ded78ca

File tree

4 files changed

+27
-13
lines changed

4 files changed

+27
-13
lines changed

doma-core/src/main/java/org/seasar/doma/jdbc/criteria/context/Criterion.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -451,11 +451,11 @@ public void accept(Visitor visitor) {
451451
}
452452

453453
class UserDefined implements Criterion {
454-
public final Consumer<UserDefinedCriteriaContext.Builder> contextDeclaration;
454+
public final Consumer<UserDefinedCriteriaContext.Builder> builderBlock;
455455

456-
public UserDefined(Consumer<UserDefinedCriteriaContext.Builder> contextDeclaration) {
457-
Objects.requireNonNull(contextDeclaration);
458-
this.contextDeclaration = contextDeclaration;
456+
public UserDefined(Consumer<UserDefinedCriteriaContext.Builder> builderBlock) {
457+
Objects.requireNonNull(builderBlock);
458+
this.builderBlock = builderBlock;
459459
}
460460

461461
@Override

doma-core/src/main/java/org/seasar/doma/jdbc/criteria/declaration/ComparisonDeclaration.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -903,16 +903,23 @@ public void or(Runnable block) {
903903
runBlock(block, Criterion.Or::new);
904904
}
905905

906+
/**
907+
* Add a declaring a user-defined extension.
908+
*
909+
* @param <EXTENSION> the type of the user-defined extension
910+
* @param construct function that generates user-defined extension.
911+
* @param extensionBlock block that can use user-defined extension.
912+
* @throws NullPointerException if {@code construct} or {@code extensionBlock} is null
913+
*/
906914
public <EXTENSION> void extension(
907915
Function<UserDefinedCriteriaContext, EXTENSION> construct,
908-
Consumer<EXTENSION> extensionDeclaration) {
916+
Consumer<EXTENSION> extensionBlock) {
909917
Objects.requireNonNull(construct);
910-
Objects.requireNonNull(extensionDeclaration);
918+
Objects.requireNonNull(extensionBlock);
911919

912920
var extension =
913-
construct.apply(
914-
contextDeclaration -> this.add(new Criterion.UserDefined(contextDeclaration)));
915-
extensionDeclaration.accept(extension);
921+
construct.apply(builderBlock -> this.add(new Criterion.UserDefined(builderBlock)));
922+
extensionBlock.accept(extension);
916923
}
917924

918925
/**

doma-core/src/main/java/org/seasar/doma/jdbc/criteria/declaration/UserDefinedCriteriaContext.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,14 @@
2222
/** Represents a user-defined comparison criteria declaration. */
2323
@FunctionalInterface
2424
public interface UserDefinedCriteriaContext {
25-
void add(Consumer<Builder> builder);
25+
/**
26+
* Adds a user-defined operation to the criteria declaration by accepting a function that
27+
* configures the provided {@code Builder}.
28+
*
29+
* @param builderBlock a {@link Consumer} used to configure the {@code Builder} for appending SQL
30+
* code, expressions, or other operations
31+
*/
32+
void add(Consumer<Builder> builderBlock);
2633

2734
interface Builder {
2835
/**

doma-core/src/main/java/org/seasar/doma/jdbc/criteria/query/BuilderSupport.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ public void visit(Criterion.Not criterion) {
431431

432432
@Override
433433
public void visit(Criterion.UserDefined criterion) {
434-
extension(criterion.contextDeclaration);
434+
extension(criterion.builderBlock);
435435
}
436436

437437
private void comparison(Operand.Prop left, Operand right, String op) {
@@ -701,8 +701,8 @@ private void not(List<Criterion> criterionList) {
701701
}
702702
}
703703

704-
private void extension(Consumer<UserDefinedCriteriaContext.Builder> contextDeclaration) {
705-
contextDeclaration.accept(userDefinedCriteriaContextBuilder);
704+
private void extension(Consumer<UserDefinedCriteriaContext.Builder> builderBlock) {
705+
builderBlock.accept(userDefinedCriteriaContextBuilder);
706706
}
707707
}
708708

0 commit comments

Comments
 (0)