001 002package com.commercetools.api.predicates.query.product_discount; 003 004import java.util.function.Function; 005 006import com.commercetools.api.predicates.query.*; 007 008public class ProductDiscountValueQueryBuilderDsl { 009 public ProductDiscountValueQueryBuilderDsl() { 010 } 011 012 public static ProductDiscountValueQueryBuilderDsl of() { 013 return new ProductDiscountValueQueryBuilderDsl(); 014 } 015 016 public StringComparisonPredicateBuilder<ProductDiscountValueQueryBuilderDsl> type() { 017 return new StringComparisonPredicateBuilder<>( 018 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("type")), 019 p -> new CombinationQueryPredicate<>(p, ProductDiscountValueQueryBuilderDsl::of)); 020 } 021 022 public CombinationQueryPredicate<ProductDiscountValueQueryBuilderDsl> asAbsolute( 023 Function<com.commercetools.api.predicates.query.product_discount.ProductDiscountValueAbsoluteQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.product_discount.ProductDiscountValueAbsoluteQueryBuilderDsl>> fn) { 024 return new CombinationQueryPredicate<>(fn.apply( 025 com.commercetools.api.predicates.query.product_discount.ProductDiscountValueAbsoluteQueryBuilderDsl.of()), 026 ProductDiscountValueQueryBuilderDsl::of); 027 } 028 029 public CombinationQueryPredicate<ProductDiscountValueQueryBuilderDsl> asExternal( 030 Function<com.commercetools.api.predicates.query.product_discount.ProductDiscountValueExternalQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.product_discount.ProductDiscountValueExternalQueryBuilderDsl>> fn) { 031 return new CombinationQueryPredicate<>(fn.apply( 032 com.commercetools.api.predicates.query.product_discount.ProductDiscountValueExternalQueryBuilderDsl.of()), 033 ProductDiscountValueQueryBuilderDsl::of); 034 } 035 036 public CombinationQueryPredicate<ProductDiscountValueQueryBuilderDsl> asRelative( 037 Function<com.commercetools.api.predicates.query.product_discount.ProductDiscountValueRelativeQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.product_discount.ProductDiscountValueRelativeQueryBuilderDsl>> fn) { 038 return new CombinationQueryPredicate<>(fn.apply( 039 com.commercetools.api.predicates.query.product_discount.ProductDiscountValueRelativeQueryBuilderDsl.of()), 040 ProductDiscountValueQueryBuilderDsl::of); 041 } 042}