001
002package com.commercetools.ml.models.image_search_config;
003
004import java.time.*;
005import java.util.*;
006import java.util.function.Function;
007
008import javax.validation.Valid;
009import javax.validation.constraints.NotNull;
010
011import com.fasterxml.jackson.annotation.*;
012import com.fasterxml.jackson.databind.annotation.*;
013
014import io.vrap.rmf.base.client.utils.Generated;
015
016/**
017 * ImageSearchConfigRequest
018 *
019 * <hr>
020 * Example to create an instance using the builder pattern
021 * <div class=code-example>
022 * <pre><code class='java'>
023 *     ImageSearchConfigRequest imageSearchConfigRequest = ImageSearchConfigRequest.builder()
024 *             .plusActions(actionsBuilder -> actionsBuilder)
025 *             .build()
026 * </code></pre>
027 * </div>
028 */
029@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
030@JsonDeserialize(as = ImageSearchConfigRequestImpl.class)
031public interface ImageSearchConfigRequest {
032
033    /**
034     *  <p>The list of update actions to be performed on the project.</p>
035     */
036    @NotNull
037    @Valid
038    @JsonProperty("actions")
039    public List<ImageSearchConfigUpdateAction> getActions();
040
041    @JsonIgnore
042    public void setActions(final ImageSearchConfigUpdateAction... actions);
043
044    public void setActions(final List<ImageSearchConfigUpdateAction> actions);
045
046    public static ImageSearchConfigRequest of() {
047        return new ImageSearchConfigRequestImpl();
048    }
049
050    public static ImageSearchConfigRequest of(final ImageSearchConfigRequest template) {
051        ImageSearchConfigRequestImpl instance = new ImageSearchConfigRequestImpl();
052        instance.setActions(template.getActions());
053        return instance;
054    }
055
056    public static ImageSearchConfigRequestBuilder builder() {
057        return ImageSearchConfigRequestBuilder.of();
058    }
059
060    public static ImageSearchConfigRequestBuilder builder(final ImageSearchConfigRequest template) {
061        return ImageSearchConfigRequestBuilder.of(template);
062    }
063
064    default <T> T withImageSearchConfigRequest(Function<ImageSearchConfigRequest, T> helper) {
065        return helper.apply(this);
066    }
067
068    public static com.fasterxml.jackson.core.type.TypeReference<ImageSearchConfigRequest> typeReference() {
069        return new com.fasterxml.jackson.core.type.TypeReference<ImageSearchConfigRequest>() {
070            @Override
071            public String toString() {
072                return "TypeReference<ImageSearchConfigRequest>";
073            }
074        };
075    }
076}