001
002package com.commercetools.ml.models.image_search_config;
003
004import java.util.Arrays;
005import java.util.Optional;
006
007import com.fasterxml.jackson.annotation.JsonCreator;
008import com.fasterxml.jackson.annotation.JsonValue;
009
010import io.vrap.rmf.base.client.utils.Generated;
011
012/**
013 * ImageSearchConfigStatus
014 */
015@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
016public interface ImageSearchConfigStatus {
017
018    ImageSearchConfigStatus ON = ImageSearchConfigStatusEnum.ON;
019
020    ImageSearchConfigStatus OFF = ImageSearchConfigStatusEnum.OFF;
021
022    enum ImageSearchConfigStatusEnum implements ImageSearchConfigStatus {
023        ON("on"),
024
025        OFF("off");
026        private final String jsonName;
027
028        private ImageSearchConfigStatusEnum(final String jsonName) {
029            this.jsonName = jsonName;
030        }
031
032        public String getJsonName() {
033            return jsonName;
034        }
035
036        public String toString() {
037            return jsonName;
038        }
039    }
040
041    @JsonValue
042    String getJsonName();
043
044    String name();
045
046    String toString();
047
048    @JsonCreator
049    public static ImageSearchConfigStatus findEnum(String value) {
050        return findEnumViaJsonName(value).orElse(new ImageSearchConfigStatus() {
051            @Override
052            public String getJsonName() {
053                return value;
054            }
055
056            @Override
057            public String name() {
058                return value.toUpperCase();
059            }
060
061            public String toString() {
062                return value;
063            }
064        });
065    }
066
067    public static Optional<ImageSearchConfigStatus> findEnumViaJsonName(String jsonName) {
068        return Arrays.stream(values()).filter(t -> t.getJsonName().equals(jsonName)).findFirst();
069    }
070
071    public static ImageSearchConfigStatus[] values() {
072        return ImageSearchConfigStatusEnum.values();
073    }
074}