001
002package com.commercetools.ml.models.image_search_config;
003
004import java.time.*;
005import java.time.ZonedDateTime;
006import java.util.*;
007import java.util.function.Function;
008
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 * ImageSearchConfigResponse
018 *
019 * <hr>
020 * Example to create an instance using the builder pattern
021 * <div class=code-example>
022 * <pre><code class='java'>
023 *     ImageSearchConfigResponse imageSearchConfigResponse = ImageSearchConfigResponse.builder()
024 *             .status(ImageSearchConfigStatus.ON)
025 *             .lastModifiedAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z"))
026 *             .build()
027 * </code></pre>
028 * </div>
029 */
030@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
031@JsonDeserialize(as = ImageSearchConfigResponseImpl.class)
032public interface ImageSearchConfigResponse {
033
034    /**
035     *  <p>The image search activation status.</p>
036     */
037    @NotNull
038    @JsonProperty("status")
039    public ImageSearchConfigStatus getStatus();
040
041    /**
042     *
043     */
044    @NotNull
045    @JsonProperty("lastModifiedAt")
046    public ZonedDateTime getLastModifiedAt();
047
048    public void setStatus(final ImageSearchConfigStatus status);
049
050    public void setLastModifiedAt(final ZonedDateTime lastModifiedAt);
051
052    public static ImageSearchConfigResponse of() {
053        return new ImageSearchConfigResponseImpl();
054    }
055
056    public static ImageSearchConfigResponse of(final ImageSearchConfigResponse template) {
057        ImageSearchConfigResponseImpl instance = new ImageSearchConfigResponseImpl();
058        instance.setStatus(template.getStatus());
059        instance.setLastModifiedAt(template.getLastModifiedAt());
060        return instance;
061    }
062
063    public static ImageSearchConfigResponseBuilder builder() {
064        return ImageSearchConfigResponseBuilder.of();
065    }
066
067    public static ImageSearchConfigResponseBuilder builder(final ImageSearchConfigResponse template) {
068        return ImageSearchConfigResponseBuilder.of(template);
069    }
070
071    default <T> T withImageSearchConfigResponse(Function<ImageSearchConfigResponse, T> helper) {
072        return helper.apply(this);
073    }
074
075    public static com.fasterxml.jackson.core.type.TypeReference<ImageSearchConfigResponse> typeReference() {
076        return new com.fasterxml.jackson.core.type.TypeReference<ImageSearchConfigResponse>() {
077            @Override
078            public String toString() {
079                return "TypeReference<ImageSearchConfigResponse>";
080            }
081        };
082    }
083}