From be892f2bf0fe51bed2981036daa8caba5c3331ca Mon Sep 17 00:00:00 2001 From: Palumbo Date: Tue, 8 Apr 2025 21:53:16 +0200 Subject: [PATCH 1/2] javadoc: adding query predicate builder documentation --- .../com/commercetools/docs/meta/Querying.java | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/commercetools/internal-docs/src/main/java/com/commercetools/docs/meta/Querying.java b/commercetools/internal-docs/src/main/java/com/commercetools/docs/meta/Querying.java index 171e8381baa..e45165a7329 100644 --- a/commercetools/internal-docs/src/main/java/com/commercetools/docs/meta/Querying.java +++ b/commercetools/internal-docs/src/main/java/com/commercetools/docs/meta/Querying.java @@ -17,6 +17,72 @@ * * {@include.example example.ExamplesTest#queryPredicateVariableArray()} * +

Query Predicate Builder

+ * + *

The + * Query Predicate Builder offers a fluent, type-safe interface for building Query Predicates.

+ * + *

Basic Usage

+ * + *
{@code
+ * import static com.commercetools.api.predicates.query.CustomerQueryBuilderDsl.*;
+ *
+ * String predicate = CustomerQueryBuilderDsl.of()
+ *       .firstName().is("John")
+ *       .and()
+ *       .lastName().is("Doe")
+ *       .build();
+ * }
+ * + *

Examples of Query Predicates

+ * + *

The following examples demonstrate how to use the Query Predicate builder for different scenarios. More examples can be found + * here.

+ * + *
Equality Comparisons
+ *
{@code
+ * CartQueryBuilderDsl.of().id().is("abc");
+ * CustomerQueryBuilderDsl.of().dateOfBirth().is(LocalDate.parse("2018-10-12"));
+ * TaxRateQueryBuilderDsl.of().amount().is(10.0);
+ * }
+ * + *
Logical Operators
+ *
{@code
+ * CartQueryBuilderDsl.of().id().is("abc").not();
+ * CartQueryBuilderDsl.of().id().is("abc").and(p -> p.id().is("def"));
+ * CartQueryBuilderDsl.of().id().is("abc").or(p -> p.id().is("def"));
+ * }
+ * + *
Range Comparisons
+ *
{@code
+ * CartQueryBuilderDsl.of().version().isLessThan(10L);
+ * CartQueryBuilderDsl.of().version().isGreaterThan(10L);
+ * TaxRateQueryBuilderDsl.of().amount().isLessThan(10.0);
+ * CustomerQueryBuilderDsl.of().dateOfBirth().isGreaterThan(LocalDate.parse("2018-10-12"));
+ * }
+ * + *
Collection Queries
+ *
{@code
+ * CartQueryBuilderDsl.of().key().isIn(Arrays.asList("foo", "bar"));
+ * TaxRateQueryBuilderDsl.of().amount().isIn(Arrays.asList(10.0, 20.0));
+ * }
+ * + *
Nested Queries
+ *
{@code
+ * ProductQueryBuilderDsl.of()
+ *   .masterData(m -> m.current(c -> c.slug(l -> l.with(Locale.ENGLISH).is("super-product"))
+ *     .and(t -> t.name(l -> l.with(Locale.ENGLISH).is("Super Product")))));
+ * }
+ * + *
Special Cases
+ *
{@code
+ * CartQueryBuilderDsl.of().key().isDefined();
+ * CartQueryBuilderDsl.of().key().isNotDefined();
+ * CartQueryBuilderDsl.of().lineItems().isEmpty();
+ * TypeQueryBuilderDsl.of().resourceTypeIds().containsAnyVar("foo");
+ * }
+ * + * *

Get by id/key

* * {@include.example example.ExamplesTest#getByIdOrKey()} From 06cf58d6a0609b2beb82eebd5517e5454b5b8ac5 Mon Sep 17 00:00:00 2001 From: Palumbo Date: Wed, 23 Apr 2025 17:55:16 +0200 Subject: [PATCH 2/2] javadoc: aligned with official documentation --- .../java/com/commercetools/docs/meta/Querying.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/commercetools/internal-docs/src/main/java/com/commercetools/docs/meta/Querying.java b/commercetools/internal-docs/src/main/java/com/commercetools/docs/meta/Querying.java index e45165a7329..8a9dfc43828 100644 --- a/commercetools/internal-docs/src/main/java/com/commercetools/docs/meta/Querying.java +++ b/commercetools/internal-docs/src/main/java/com/commercetools/docs/meta/Querying.java @@ -43,28 +43,28 @@ *
{@code
  * CartQueryBuilderDsl.of().id().is("abc");
  * CustomerQueryBuilderDsl.of().dateOfBirth().is(LocalDate.parse("2018-10-12"));
- * TaxRateQueryBuilderDsl.of().amount().is(10.0);
+ * TaxRateQueryBuilderDsl.of().amount().is(0.19);
  * }
* *
Logical Operators
*
{@code
  * CartQueryBuilderDsl.of().id().is("abc").not();
- * CartQueryBuilderDsl.of().id().is("abc").and(p -> p.id().is("def"));
- * CartQueryBuilderDsl.of().id().is("abc").or(p -> p.id().is("def"));
+ * CartQueryBuilderDsl.of().id().is("abc").and(p -> p.customerId().is("def"));
+ * CartQueryBuilderDsl.of().id().is("abc").or(p -> p.customerId().is("def"));
  * }
* *
Range Comparisons
*
{@code
  * CartQueryBuilderDsl.of().version().isLessThan(10L);
  * CartQueryBuilderDsl.of().version().isGreaterThan(10L);
- * TaxRateQueryBuilderDsl.of().amount().isLessThan(10.0);
+ * TaxRateQueryBuilderDsl.of().amount().isLessThan(0.19);
  * CustomerQueryBuilderDsl.of().dateOfBirth().isGreaterThan(LocalDate.parse("2018-10-12"));
  * }
* *
Collection Queries
*
{@code
  * CartQueryBuilderDsl.of().key().isIn(Arrays.asList("foo", "bar"));
- * TaxRateQueryBuilderDsl.of().amount().isIn(Arrays.asList(10.0, 20.0));
+ * TaxRateQueryBuilderDsl.of().amount().isIn(Arrays.asList(0.19, 0.20));
  * }
* *
Nested Queries
@@ -79,7 +79,7 @@ * CartQueryBuilderDsl.of().key().isDefined(); * CartQueryBuilderDsl.of().key().isNotDefined(); * CartQueryBuilderDsl.of().lineItems().isEmpty(); - * TypeQueryBuilderDsl.of().resourceTypeIds().containsAnyVar("foo"); + * TypeQueryBuilderDsl.of().resourceTypeIds().containsAnyVar("approval-flow"); * } * *