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..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 @@ -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(0.19);
+ * }
+ * + *
Logical Operators
+ *
{@code
+ * CartQueryBuilderDsl.of().id().is("abc").not();
+ * 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(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(0.19, 0.20));
+ * }
+ * + *
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("approval-flow");
+ * }
+ * + * *

Get by id/key

* * {@include.example example.ExamplesTest#getByIdOrKey()}