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