001 002package com.commercetools.api.predicates.query.error; 003 004import java.util.function.Function; 005 006import com.commercetools.api.predicates.query.*; 007 008public class VariantValuesQueryBuilderDsl { 009 public VariantValuesQueryBuilderDsl() { 010 } 011 012 public static VariantValuesQueryBuilderDsl of() { 013 return new VariantValuesQueryBuilderDsl(); 014 } 015 016 public StringComparisonPredicateBuilder<VariantValuesQueryBuilderDsl> sku() { 017 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("sku")), 018 p -> new CombinationQueryPredicate<>(p, VariantValuesQueryBuilderDsl::of)); 019 } 020 021 public CombinationQueryPredicate<VariantValuesQueryBuilderDsl> prices( 022 Function<com.commercetools.api.predicates.query.common.PriceDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.PriceDraftQueryBuilderDsl>> fn) { 023 return new CombinationQueryPredicate<>( 024 ContainerQueryPredicate.of() 025 .parent(ConstantQueryPredicate.of().constant("prices")) 026 .inner(fn.apply(com.commercetools.api.predicates.query.common.PriceDraftQueryBuilderDsl.of())), 027 VariantValuesQueryBuilderDsl::of); 028 } 029 030 public CollectionPredicateBuilder<VariantValuesQueryBuilderDsl> prices() { 031 return new CollectionPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("prices")), 032 p -> new CombinationQueryPredicate<>(p, VariantValuesQueryBuilderDsl::of)); 033 } 034 035 public CombinationQueryPredicate<VariantValuesQueryBuilderDsl> attributes( 036 Function<com.commercetools.api.predicates.query.product.AttributeQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.product.AttributeQueryBuilderDsl>> fn) { 037 return new CombinationQueryPredicate<>( 038 ContainerQueryPredicate.of() 039 .parent(ConstantQueryPredicate.of().constant("attributes")) 040 .inner(fn.apply(com.commercetools.api.predicates.query.product.AttributeQueryBuilderDsl.of())), 041 VariantValuesQueryBuilderDsl::of); 042 } 043 044 public CollectionPredicateBuilder<VariantValuesQueryBuilderDsl> attributes() { 045 return new CollectionPredicateBuilder<>( 046 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("attributes")), 047 p -> new CombinationQueryPredicate<>(p, VariantValuesQueryBuilderDsl::of)); 048 } 049 050}