001
002package com.commercetools.api.predicates.query.attribute_group;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class AttributeGroupUpdateActionQueryBuilderDsl {
009    public AttributeGroupUpdateActionQueryBuilderDsl() {
010    }
011
012    public static AttributeGroupUpdateActionQueryBuilderDsl of() {
013        return new AttributeGroupUpdateActionQueryBuilderDsl();
014    }
015
016    public StringComparisonPredicateBuilder<AttributeGroupUpdateActionQueryBuilderDsl> action() {
017        return new StringComparisonPredicateBuilder<>(
018            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("action")),
019            p -> new CombinationQueryPredicate<>(p, AttributeGroupUpdateActionQueryBuilderDsl::of));
020    }
021
022    public CombinationQueryPredicate<AttributeGroupUpdateActionQueryBuilderDsl> asAddAttribute(
023            Function<com.commercetools.api.predicates.query.attribute_group.AttributeGroupAddAttributeActionQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.attribute_group.AttributeGroupAddAttributeActionQueryBuilderDsl>> fn) {
024        return new CombinationQueryPredicate<>(fn.apply(
025            com.commercetools.api.predicates.query.attribute_group.AttributeGroupAddAttributeActionQueryBuilderDsl
026                    .of()),
027            AttributeGroupUpdateActionQueryBuilderDsl::of);
028    }
029
030    public CombinationQueryPredicate<AttributeGroupUpdateActionQueryBuilderDsl> asChangeName(
031            Function<com.commercetools.api.predicates.query.attribute_group.AttributeGroupChangeNameActionQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.attribute_group.AttributeGroupChangeNameActionQueryBuilderDsl>> fn) {
032        return new CombinationQueryPredicate<>(fn.apply(
033            com.commercetools.api.predicates.query.attribute_group.AttributeGroupChangeNameActionQueryBuilderDsl.of()),
034            AttributeGroupUpdateActionQueryBuilderDsl::of);
035    }
036
037    public CombinationQueryPredicate<AttributeGroupUpdateActionQueryBuilderDsl> asRemoveAttribute(
038            Function<com.commercetools.api.predicates.query.attribute_group.AttributeGroupRemoveAttributeActionQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.attribute_group.AttributeGroupRemoveAttributeActionQueryBuilderDsl>> fn) {
039        return new CombinationQueryPredicate<>(fn.apply(
040            com.commercetools.api.predicates.query.attribute_group.AttributeGroupRemoveAttributeActionQueryBuilderDsl
041                    .of()),
042            AttributeGroupUpdateActionQueryBuilderDsl::of);
043    }
044
045    public CombinationQueryPredicate<AttributeGroupUpdateActionQueryBuilderDsl> asSetAttributes(
046            Function<com.commercetools.api.predicates.query.attribute_group.AttributeGroupSetAttributesActionQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.attribute_group.AttributeGroupSetAttributesActionQueryBuilderDsl>> fn) {
047        return new CombinationQueryPredicate<>(fn.apply(
048            com.commercetools.api.predicates.query.attribute_group.AttributeGroupSetAttributesActionQueryBuilderDsl
049                    .of()),
050            AttributeGroupUpdateActionQueryBuilderDsl::of);
051    }
052
053    public CombinationQueryPredicate<AttributeGroupUpdateActionQueryBuilderDsl> asSetDescription(
054            Function<com.commercetools.api.predicates.query.attribute_group.AttributeGroupSetDescriptionActionQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.attribute_group.AttributeGroupSetDescriptionActionQueryBuilderDsl>> fn) {
055        return new CombinationQueryPredicate<>(fn.apply(
056            com.commercetools.api.predicates.query.attribute_group.AttributeGroupSetDescriptionActionQueryBuilderDsl
057                    .of()),
058            AttributeGroupUpdateActionQueryBuilderDsl::of);
059    }
060
061    public CombinationQueryPredicate<AttributeGroupUpdateActionQueryBuilderDsl> asSetKey(
062            Function<com.commercetools.api.predicates.query.attribute_group.AttributeGroupSetKeyActionQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.attribute_group.AttributeGroupSetKeyActionQueryBuilderDsl>> fn) {
063        return new CombinationQueryPredicate<>(
064            fn.apply(
065                com.commercetools.api.predicates.query.attribute_group.AttributeGroupSetKeyActionQueryBuilderDsl.of()),
066            AttributeGroupUpdateActionQueryBuilderDsl::of);
067    }
068}