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 * ChangeStatusUpdateAction 017 * 018 * <hr> 019 * Example to create an instance using the builder pattern 020 * <div class=code-example> 021 * <pre><code class='java'> 022 * ChangeStatusUpdateAction changeStatusUpdateAction = ChangeStatusUpdateAction.builder() 023 * .status(ImageSearchConfigStatus.ON) 024 * .build() 025 * </code></pre> 026 * </div> 027 */ 028@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 029@JsonDeserialize(as = ChangeStatusUpdateActionImpl.class) 030public interface ChangeStatusUpdateAction extends ImageSearchConfigUpdateAction { 031 032 String CHANGE_STATUS = "changeStatus"; 033 034 /** 035 * 036 */ 037 @NotNull 038 @JsonProperty("status") 039 public ImageSearchConfigStatus getStatus(); 040 041 public void setStatus(final ImageSearchConfigStatus status); 042 043 public static ChangeStatusUpdateAction of() { 044 return new ChangeStatusUpdateActionImpl(); 045 } 046 047 public static ChangeStatusUpdateAction of(final ChangeStatusUpdateAction template) { 048 ChangeStatusUpdateActionImpl instance = new ChangeStatusUpdateActionImpl(); 049 instance.setStatus(template.getStatus()); 050 return instance; 051 } 052 053 public static ChangeStatusUpdateActionBuilder builder() { 054 return ChangeStatusUpdateActionBuilder.of(); 055 } 056 057 public static ChangeStatusUpdateActionBuilder builder(final ChangeStatusUpdateAction template) { 058 return ChangeStatusUpdateActionBuilder.of(template); 059 } 060 061 default <T> T withChangeStatusUpdateAction(Function<ChangeStatusUpdateAction, T> helper) { 062 return helper.apply(this); 063 } 064 065 public static com.fasterxml.jackson.core.type.TypeReference<ChangeStatusUpdateAction> typeReference() { 066 return new com.fasterxml.jackson.core.type.TypeReference<ChangeStatusUpdateAction>() { 067 @Override 068 public String toString() { 069 return "TypeReference<ChangeStatusUpdateAction>"; 070 } 071 }; 072 } 073}