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