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.constraints.NotNull; 009 010import com.fasterxml.jackson.annotation.*; 011import com.fasterxml.jackson.databind.annotation.*; 012 013import io.vrap.rmf.base.client.utils.Generated; 014 015/** 016 * ImageSearchConfigUpdateAction 017 * 018 * <hr> 019 * Example to create a subtype instance using the builder pattern 020 * <div class=code-example> 021 * <pre><code class='java'> 022 * ImageSearchConfigUpdateAction imageSearchConfigUpdateAction = ImageSearchConfigUpdateAction.changeStatusBuilder() 023 * status(ImageSearchConfigStatus.ON) 024 * .build() 025 * </code></pre> 026 * </div> 027 */ 028@JsonSubTypes({ 029 @JsonSubTypes.Type(value = com.commercetools.ml.models.image_search_config.ChangeStatusUpdateActionImpl.class, name = ChangeStatusUpdateAction.CHANGE_STATUS) }) 030@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "action", defaultImpl = ImageSearchConfigUpdateActionImpl.class, visible = true) 031@JsonDeserialize(as = ImageSearchConfigUpdateActionImpl.class) 032@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 033public interface ImageSearchConfigUpdateAction { 034 035 /** 036 * 037 */ 038 @NotNull 039 @JsonProperty("action") 040 public String getAction(); 041 042 public static com.commercetools.ml.models.image_search_config.ChangeStatusUpdateActionBuilder changeStatusBuilder() { 043 return com.commercetools.ml.models.image_search_config.ChangeStatusUpdateActionBuilder.of(); 044 } 045 046 default <T> T withImageSearchConfigUpdateAction(Function<ImageSearchConfigUpdateAction, T> helper) { 047 return helper.apply(this); 048 } 049 050 public static com.fasterxml.jackson.core.type.TypeReference<ImageSearchConfigUpdateAction> typeReference() { 051 return new com.fasterxml.jackson.core.type.TypeReference<ImageSearchConfigUpdateAction>() { 052 @Override 053 public String toString() { 054 return "TypeReference<ImageSearchConfigUpdateAction>"; 055 } 056 }; 057 } 058}