001
002package com.commercetools.history.models.change_history;
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.JsonEnum;
011import io.vrap.rmf.base.client.utils.Generated;
012
013/**
014 *  <p>Updates that are triggered automatically as a result of a user-initiated change.</p>
015 */
016@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
017public interface PlatformInitiatedChange extends JsonEnum {
018
019    PlatformInitiatedChange EXCLUDE_ALL = PlatformInitiatedChangeEnum.EXCLUDE_ALL;
020
021    PlatformInitiatedChange CHANGE_LINE_ITEM_NAME = PlatformInitiatedChangeEnum.CHANGE_LINE_ITEM_NAME;
022
023    PlatformInitiatedChange CHANGE_REVIEW_RATING_STATISTICS = PlatformInitiatedChangeEnum.CHANGE_REVIEW_RATING_STATISTICS;
024
025    PlatformInitiatedChange SET_APPLICATION_VERSION = PlatformInitiatedChangeEnum.SET_APPLICATION_VERSION;
026
027    PlatformInitiatedChange SET_IS_VALID = PlatformInitiatedChangeEnum.SET_IS_VALID;
028
029    PlatformInitiatedChange SET_VARIANT_AVAILABILITY = PlatformInitiatedChangeEnum.SET_VARIANT_AVAILABILITY;
030
031    /**
032     * possible values of PlatformInitiatedChange
033     */
034    enum PlatformInitiatedChangeEnum implements PlatformInitiatedChange {
035        /**
036         * excludeAll
037         */
038        EXCLUDE_ALL("excludeAll"),
039
040        /**
041         * changeLineItemName
042         */
043        CHANGE_LINE_ITEM_NAME("changeLineItemName"),
044
045        /**
046         * changeReviewRatingStatistics
047         */
048        CHANGE_REVIEW_RATING_STATISTICS("changeReviewRatingStatistics"),
049
050        /**
051         * setApplicationVersion
052         */
053        SET_APPLICATION_VERSION("setApplicationVersion"),
054
055        /**
056         * setIsValid
057         */
058        SET_IS_VALID("setIsValid"),
059
060        /**
061         * setVariantAvailability
062         */
063        SET_VARIANT_AVAILABILITY("setVariantAvailability");
064        private final String jsonName;
065
066        private PlatformInitiatedChangeEnum(final String jsonName) {
067            this.jsonName = jsonName;
068        }
069
070        public String getJsonName() {
071            return jsonName;
072        }
073
074        public String toString() {
075            return jsonName;
076        }
077    }
078
079    /**
080     * the JSON value
081     * @return json value
082     */
083    @JsonValue
084    String getJsonName();
085
086    /**
087     * the enum value
088     * @return name
089     */
090    String name();
091
092    /**
093     * convert value to string
094     * @return string representation
095     */
096    String toString();
097
098    /**
099     * factory method for a enum value of PlatformInitiatedChange
100     * if no enum has been found an anonymous instance will be created
101     * @param value the enum value to be wrapped
102     * @return enum instance
103     */
104    @JsonCreator
105    public static PlatformInitiatedChange findEnum(String value) {
106        return findEnumViaJsonName(value).orElse(new PlatformInitiatedChange() {
107            @Override
108            public String getJsonName() {
109                return value;
110            }
111
112            @Override
113            public String name() {
114                return value.toUpperCase();
115            }
116
117            public String toString() {
118                return value;
119            }
120        });
121    }
122
123    /**
124     * method to find enum using the JSON value
125     * @param jsonName the json value to be wrapped
126     * @return optional of enum instance
127     */
128    public static Optional<PlatformInitiatedChange> findEnumViaJsonName(String jsonName) {
129        return Arrays.stream(values()).filter(t -> t.getJsonName().equals(jsonName)).findFirst();
130    }
131
132    /**
133     * possible enum values
134     * @return array of possible enum values
135     */
136    public static PlatformInitiatedChange[] values() {
137        return PlatformInitiatedChangeEnum.values();
138    }
139
140}