Skip to content

Commit c19dd2d

Browse files
committed
Add with() method and rename fetch() methods to fetchOf().
1 parent c594345 commit c19dd2d

File tree

6 files changed

+110
-99
lines changed

6 files changed

+110
-99
lines changed

src/main/java/io/github/quinnandrews/spring/data/specification/builder/SpecificationBuilder.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ public SpecificationBuilder<T> or(final Specification<T> specification) {
6262
return this;
6363
}
6464

65+
public SpecificationBuilder<T> with() {
66+
return this;
67+
}
68+
6569
@Deprecated
6670
public SpecificationBuilder<T> andWhere(final Specification<T> specification) {
6771
return where(specification);
@@ -167,12 +171,12 @@ public SpecificationBuilder<T> whereIn(final SingularAttribute<T, ?> attribute,
167171

168172
@Deprecated
169173
public SpecificationBuilder<T> withFetch(final SingularAttribute<T, ?> attribute) {
170-
return and(SpecificationFactory.fetch(attribute));
174+
return and(SpecificationFactory.fetchOf(attribute));
171175
}
172176

173177
@Deprecated
174178
public SpecificationBuilder<T> withFetch(final PluralAttribute<T, ?, ?> attribute) {
175-
return and(SpecificationFactory.fetch(attribute));
179+
return and(SpecificationFactory.fetchOf(attribute));
176180
}
177181

178182
public SpecificationBuilder<T> isEqualTo(final SingularAttribute<T, ?> attribute,
@@ -252,11 +256,11 @@ public SpecificationBuilder<T> isIn(final SingularAttribute<T, ?> attribute,
252256
return where(SpecificationFactory.isIn(attribute, values));
253257
}
254258

255-
public SpecificationBuilder<T> fetch(final SingularAttribute<T, ?> attribute) {
256-
return and(SpecificationFactory.fetch(attribute));
259+
public SpecificationBuilder<T> fetchOf(final SingularAttribute<T, ?> attribute) {
260+
return and(SpecificationFactory.fetchOf(attribute));
257261
}
258262

259-
public SpecificationBuilder<T> fetch(final PluralAttribute<T, ?, ?> attribute) {
260-
return and(SpecificationFactory.fetch(attribute));
263+
public SpecificationBuilder<T> fetchOf(final PluralAttribute<T, ?, ?> attribute) {
264+
return and(SpecificationFactory.fetchOf(attribute));
261265
}
262266
}

src/main/java/io/github/quinnandrews/spring/data/specification/builder/SpecificationFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ public static <T> Specification<T> isIn(final SingularAttribute<T, ?> attribute,
158158
.collect(Collectors.toSet()));
159159
}
160160

161-
public static <T> Specification<T> fetch(final SingularAttribute<T, ?> attribute) {
161+
public static <T> Specification<T> fetchOf(final SingularAttribute<T, ?> attribute) {
162162
Objects.requireNonNull(attribute, ATTRIBUTE_CANNOT_BE_NULL);
163163
if (noneAreNull(attribute)) {
164164
return (root, query, builder) -> {
@@ -169,7 +169,7 @@ public static <T> Specification<T> fetch(final SingularAttribute<T, ?> attribute
169169
return ghost();
170170
}
171171

172-
public static <T> Specification<T> fetch(final PluralAttribute<T, ?, ?> attribute) {
172+
public static <T> Specification<T> fetchOf(final PluralAttribute<T, ?, ?> attribute) {
173173
Objects.requireNonNull(attribute, ATTRIBUTE_CANNOT_BE_NULL);
174174
if (noneAreNull(attribute)) {
175175
return (root, query, builder) -> {

src/test/java/io/github/quinnandrews/spring/data/specification/builder/SpecificationBuilderIntegrationTest.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ void or_withSpecification() {
317317
void isEqualTo() {
318318
var optionalPedal = guitarPedalRepository.findOne(
319319
SpecificationBuilder.from(GuitarPedal.class)
320-
.isEqualTo(GuitarPedal_.id, 3L)
320+
.where().isEqualTo(GuitarPedal_.id, 3L)
321321
.toSpecification());
322322
assertTrue(optionalPedal.isPresent());
323323
assertEquals(3L, optionalPedal.get().getId());
@@ -328,7 +328,7 @@ void isEqualTo() {
328328
void isNotEqualTo() {
329329
var pedals = guitarPedalRepository.findAll(
330330
SpecificationBuilder.from(GuitarPedal.class)
331-
.isNotEqualTo(GuitarPedal_.id, 3L)
331+
.where().isNotEqualTo(GuitarPedal_.id, 3L)
332332
.toSpecification());
333333
assertEquals(3, pedals.size());
334334
assertTrue(pedals.stream()
@@ -341,7 +341,7 @@ void isNotEqualTo() {
341341
void isLike() {
342342
var pedals = guitarPedalRepository.findAll(
343343
SpecificationBuilder.from(GuitarPedal.class)
344-
.isLike(GuitarPedal_.name, "%and%")
344+
.where().isLike(GuitarPedal_.name, "%and%")
345345
.toSpecification(), Sort.by("name"));
346346
assertEquals(2, pedals.size());
347347
assertEquals("Deco: Tape Saturation and Double Tracker", pedals.get(0).getName());
@@ -352,7 +352,7 @@ void isLike() {
352352
void isNotLike() {
353353
var pedals = guitarPedalRepository.findAll(
354354
SpecificationBuilder.from(GuitarPedal.class)
355-
.isNotLike(GuitarPedal_.name, "%and%")
355+
.where().isNotLike(GuitarPedal_.name, "%and%")
356356
.toSpecification(), Sort.by("name"));
357357
assertEquals(2, pedals.size());
358358
assertEquals("Big Muff Fuzz", pedals.get(0).getName());
@@ -362,7 +362,7 @@ void isNotLike() {
362362
@Test
363363
void isEqualToOrLike() {
364364
var pedals = guitarPedalRepository.findAll(SpecificationBuilder.from(GuitarPedal.class)
365-
.isEqualToOrLike(GuitarPedal_.name, "Deco%")
365+
.where().isEqualToOrLike(GuitarPedal_.name, "Deco%")
366366
.toSpecification(), Sort.by("name"));
367367
assertEquals(1, pedals.size());
368368
assertEquals("Deco: Tape Saturation and Double Tracker", pedals.get(0).getName());
@@ -372,7 +372,7 @@ void isEqualToOrLike() {
372372
void isNull() {
373373
var pedals = guitarPedalRepository.findAll(
374374
SpecificationBuilder.from(GuitarPedal.class)
375-
.isNull(GuitarPedal_.dateSold)
375+
.where().isNull(GuitarPedal_.dateSold)
376376
.toSpecification(), Sort.by("name"));
377377
assertEquals(3, pedals.size());
378378
assertEquals("Big Muff Fuzz", pedals.get(0).getName());
@@ -387,7 +387,7 @@ void isNull() {
387387
void isNotNull() {
388388
var pedals = guitarPedalRepository.findAll(
389389
SpecificationBuilder.from(GuitarPedal.class)
390-
.isNotNull(GuitarPedal_.dateSold)
390+
.where().isNotNull(GuitarPedal_.dateSold)
391391
.toSpecification(), Sort.by("name"));
392392
assertEquals(1, pedals.size());
393393
assertEquals("Sneak Attack: Attack/Decay and Tremolo", pedals.get(0).getName());
@@ -398,7 +398,7 @@ void isNotNull() {
398398
void isTrue() {
399399
var pedals = guitarPedalRepository.findAll(
400400
SpecificationBuilder.from(GuitarPedal.class)
401-
.isTrue(GuitarPedal_.hasStereoOutput)
401+
.where().isTrue(GuitarPedal_.hasStereoOutput)
402402
.toSpecification(), Sort.by("name"));
403403
assertEquals(1, pedals.size());
404404
assertEquals("Deco: Tape Saturation and Double Tracker", pedals.get(0).getName());
@@ -410,7 +410,7 @@ void isTrue() {
410410
void isFalse() {
411411
var pedals = guitarPedalRepository.findAll(
412412
SpecificationBuilder.from(GuitarPedal.class)
413-
.isFalse(GuitarPedal_.hasStereoOutput)
413+
.where().isFalse(GuitarPedal_.hasStereoOutput)
414414
.toSpecification(), Sort.by("name"));
415415
assertEquals(3, pedals.size());
416416
assertEquals("Big Muff Fuzz", pedals.get(0).getName());
@@ -425,7 +425,7 @@ void isFalse() {
425425
void isGreaterThan() {
426426
var pedals = guitarPedalRepository.findAll(
427427
SpecificationBuilder.from(GuitarPedal.class)
428-
.isGreaterThan(GuitarPedal_.usedValue, 200)
428+
.where().isGreaterThan(GuitarPedal_.usedValue, 200)
429429
.toSpecification(), Sort.by("name"));
430430
assertEquals(1, pedals.size());
431431
assertEquals("Deco: Tape Saturation and Double Tracker", pedals.get(0).getName());
@@ -436,7 +436,7 @@ void isGreaterThan() {
436436
void isGreaterThanOrEqualTo() {
437437
var pedals = guitarPedalRepository.findAll(
438438
SpecificationBuilder.from(GuitarPedal.class)
439-
.isGreaterThanOrEqualTo(GuitarPedal_.usedValue, 200)
439+
.where().isGreaterThanOrEqualTo(GuitarPedal_.usedValue, 200)
440440
.toSpecification(), Sort.by("name"));
441441
assertEquals(2, pedals.size());
442442
assertEquals("Deco: Tape Saturation and Double Tracker", pedals.get(0).getName());
@@ -449,7 +449,7 @@ void isGreaterThanOrEqualTo() {
449449
void isLessThan() {
450450
var pedals = guitarPedalRepository.findAll(
451451
SpecificationBuilder.from(GuitarPedal.class)
452-
.isLessThan(GuitarPedal_.usedValue, 150)
452+
.where().isLessThan(GuitarPedal_.usedValue, 150)
453453
.toSpecification(), Sort.by("name"));
454454
assertEquals(1, pedals.size());
455455
assertEquals("Big Muff Fuzz", pedals.get(0).getName());
@@ -460,7 +460,7 @@ void isLessThan() {
460460
void isLessThanOrEqualTo() {
461461
var pedals = guitarPedalRepository.findAll(
462462
SpecificationBuilder.from(GuitarPedal.class)
463-
.isLessThanOrEqualTo(GuitarPedal_.usedValue, 150)
463+
.where().isLessThanOrEqualTo(GuitarPedal_.usedValue, 150)
464464
.toSpecification(), Sort.by("name"));
465465
assertEquals(2, pedals.size());
466466
assertEquals("Big Muff Fuzz", pedals.get(0).getName());
@@ -473,7 +473,7 @@ void isLessThanOrEqualTo() {
473473
void isBetween() {
474474
var pedals = guitarPedalRepository.findAll(
475475
SpecificationBuilder.from(GuitarPedal.class)
476-
.isBetween(
476+
.where().isBetween(
477477
GuitarPedal_.datePurchased,
478478
LocalDate.of(2021, 7, 19),
479479
LocalDate.of(2022, 9, 11))
@@ -489,7 +489,7 @@ void isBetween() {
489489
void isIn_collection() {
490490
var pedals = guitarPedalRepository.findAll(
491491
SpecificationBuilder.from(GuitarPedal.class)
492-
.isIn(GuitarPedal_.id, List.of(2L, 3L))
492+
.where().isIn(GuitarPedal_.id, List.of(2L, 3L))
493493
.toSpecification(), Sort.by("name"));
494494
assertEquals(2, pedals.size());
495495
assertEquals(2L, pedals.get(0).getId());
@@ -502,7 +502,7 @@ void isIn_collection() {
502502
void isIn_array() {
503503
var pedals = guitarPedalRepository.findAll(
504504
SpecificationBuilder.from(GuitarPedal.class)
505-
.isIn(GuitarPedal_.id, 2L, 3L)
505+
.where().isIn(GuitarPedal_.id, 2L, 3L)
506506
.toSpecification(), Sort.by("name"));
507507
assertEquals(2, pedals.size());
508508
assertEquals(2L, pedals.get(0).getId());

0 commit comments

Comments
 (0)