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}