001 002package com.commercetools.api.predicates.query.product; 003 004import java.util.function.Function; 005 006import com.commercetools.api.predicates.query.*; 007 008public class ProductReferenceQueryBuilderDsl { 009 public ProductReferenceQueryBuilderDsl() { 010 } 011 012 public static ProductReferenceQueryBuilderDsl of() { 013 return new ProductReferenceQueryBuilderDsl(); 014 } 015 016 public StringComparisonPredicateBuilder<ProductReferenceQueryBuilderDsl> typeId() { 017 return new StringComparisonPredicateBuilder<>( 018 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("typeId")), 019 p -> new CombinationQueryPredicate<>(p, ProductReferenceQueryBuilderDsl::of)); 020 } 021 022 public StringComparisonPredicateBuilder<ProductReferenceQueryBuilderDsl> id() { 023 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("id")), 024 p -> new CombinationQueryPredicate<>(p, ProductReferenceQueryBuilderDsl::of)); 025 } 026 027 public CombinationQueryPredicate<ProductReferenceQueryBuilderDsl> obj( 028 Function<com.commercetools.api.predicates.query.product.ProductQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.product.ProductQueryBuilderDsl>> fn) { 029 return new CombinationQueryPredicate<>( 030 ContainerQueryPredicate.of() 031 .parent(ConstantQueryPredicate.of().constant("obj")) 032 .inner(fn.apply(com.commercetools.api.predicates.query.product.ProductQueryBuilderDsl.of())), 033 ProductReferenceQueryBuilderDsl::of); 034 } 035 036}