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