001 002package com.commercetools.history.models.common; 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 * ReferenceTypeId 015 */ 016@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 017public interface ReferenceTypeId extends JsonEnum { 018 019 ReferenceTypeId ASSOCIATE_ROLE = ReferenceTypeIdEnum.ASSOCIATE_ROLE; 020 021 ReferenceTypeId BUSINESS_UNIT = ReferenceTypeIdEnum.BUSINESS_UNIT; 022 023 ReferenceTypeId CART = ReferenceTypeIdEnum.CART; 024 025 ReferenceTypeId CART_DISCOUNT = ReferenceTypeIdEnum.CART_DISCOUNT; 026 027 ReferenceTypeId CATEGORY = ReferenceTypeIdEnum.CATEGORY; 028 029 ReferenceTypeId CHANNEL = ReferenceTypeIdEnum.CHANNEL; 030 031 ReferenceTypeId CUSTOMER = ReferenceTypeIdEnum.CUSTOMER; 032 033 ReferenceTypeId CUSTOMER_EMAIL_TOKEN = ReferenceTypeIdEnum.CUSTOMER_EMAIL_TOKEN; 034 035 ReferenceTypeId CUSTOMER_GROUP = ReferenceTypeIdEnum.CUSTOMER_GROUP; 036 037 ReferenceTypeId CUSTOMER_PASSWORD_TOKEN = ReferenceTypeIdEnum.CUSTOMER_PASSWORD_TOKEN; 038 039 ReferenceTypeId DISCOUNT_CODE = ReferenceTypeIdEnum.DISCOUNT_CODE; 040 041 ReferenceTypeId EXTENSION = ReferenceTypeIdEnum.EXTENSION; 042 043 ReferenceTypeId INVENTORY_ENTRY = ReferenceTypeIdEnum.INVENTORY_ENTRY; 044 045 ReferenceTypeId KEY_VALUE_DOCUMENT = ReferenceTypeIdEnum.KEY_VALUE_DOCUMENT; 046 047 ReferenceTypeId ORDER = ReferenceTypeIdEnum.ORDER; 048 049 ReferenceTypeId ORDER_EDIT = ReferenceTypeIdEnum.ORDER_EDIT; 050 051 ReferenceTypeId PAYMENT = ReferenceTypeIdEnum.PAYMENT; 052 053 ReferenceTypeId PRODUCT = ReferenceTypeIdEnum.PRODUCT; 054 055 ReferenceTypeId PRODUCT_DISCOUNT = ReferenceTypeIdEnum.PRODUCT_DISCOUNT; 056 057 ReferenceTypeId PRODUCT_SELECTION = ReferenceTypeIdEnum.PRODUCT_SELECTION; 058 059 ReferenceTypeId PRODUCT_TYPE = ReferenceTypeIdEnum.PRODUCT_TYPE; 060 061 ReferenceTypeId QUOTE = ReferenceTypeIdEnum.QUOTE; 062 063 ReferenceTypeId QUOTE_REQUEST = ReferenceTypeIdEnum.QUOTE_REQUEST; 064 065 ReferenceTypeId REVIEW = ReferenceTypeIdEnum.REVIEW; 066 067 ReferenceTypeId SHIPPING_METHOD = ReferenceTypeIdEnum.SHIPPING_METHOD; 068 069 ReferenceTypeId SHOPPING_LIST = ReferenceTypeIdEnum.SHOPPING_LIST; 070 071 ReferenceTypeId STAGED_QUOTE = ReferenceTypeIdEnum.STAGED_QUOTE; 072 073 ReferenceTypeId STATE = ReferenceTypeIdEnum.STATE; 074 075 ReferenceTypeId STORE = ReferenceTypeIdEnum.STORE; 076 077 ReferenceTypeId SUBSCRIPTION = ReferenceTypeIdEnum.SUBSCRIPTION; 078 079 ReferenceTypeId TAX_CATEGORY = ReferenceTypeIdEnum.TAX_CATEGORY; 080 081 ReferenceTypeId TYPE = ReferenceTypeIdEnum.TYPE; 082 083 ReferenceTypeId ZONE = ReferenceTypeIdEnum.ZONE; 084 085 /** 086 * possible values of ReferenceTypeId 087 */ 088 enum ReferenceTypeIdEnum implements ReferenceTypeId { 089 /** 090 * associate-role 091 */ 092 ASSOCIATE_ROLE("associate-role"), 093 094 /** 095 * business-unit 096 */ 097 BUSINESS_UNIT("business-unit"), 098 099 /** 100 * cart 101 */ 102 CART("cart"), 103 104 /** 105 * cart-discount 106 */ 107 CART_DISCOUNT("cart-discount"), 108 109 /** 110 * category 111 */ 112 CATEGORY("category"), 113 114 /** 115 * channel 116 */ 117 CHANNEL("channel"), 118 119 /** 120 * customer 121 */ 122 CUSTOMER("customer"), 123 124 /** 125 * customer-email-token 126 */ 127 CUSTOMER_EMAIL_TOKEN("customer-email-token"), 128 129 /** 130 * customer-group 131 */ 132 CUSTOMER_GROUP("customer-group"), 133 134 /** 135 * customer-password-token 136 */ 137 CUSTOMER_PASSWORD_TOKEN("customer-password-token"), 138 139 /** 140 * discount-code 141 */ 142 DISCOUNT_CODE("discount-code"), 143 144 /** 145 * extension 146 */ 147 EXTENSION("extension"), 148 149 /** 150 * inventory-entry 151 */ 152 INVENTORY_ENTRY("inventory-entry"), 153 154 /** 155 * key-value-document 156 */ 157 KEY_VALUE_DOCUMENT("key-value-document"), 158 159 /** 160 * order 161 */ 162 ORDER("order"), 163 164 /** 165 * order-edit 166 */ 167 ORDER_EDIT("order-edit"), 168 169 /** 170 * payment 171 */ 172 PAYMENT("payment"), 173 174 /** 175 * product 176 */ 177 PRODUCT("product"), 178 179 /** 180 * product-discount 181 */ 182 PRODUCT_DISCOUNT("product-discount"), 183 184 /** 185 * product-selection 186 */ 187 PRODUCT_SELECTION("product-selection"), 188 189 /** 190 * product-type 191 */ 192 PRODUCT_TYPE("product-type"), 193 194 /** 195 * quote 196 */ 197 QUOTE("quote"), 198 199 /** 200 * quote-request 201 */ 202 QUOTE_REQUEST("quote-request"), 203 204 /** 205 * review 206 */ 207 REVIEW("review"), 208 209 /** 210 * shipping-method 211 */ 212 SHIPPING_METHOD("shipping-method"), 213 214 /** 215 * shopping-list 216 */ 217 SHOPPING_LIST("shopping-list"), 218 219 /** 220 * staged-quote 221 */ 222 STAGED_QUOTE("staged-quote"), 223 224 /** 225 * state 226 */ 227 STATE("state"), 228 229 /** 230 * store 231 */ 232 STORE("store"), 233 234 /** 235 * subscription 236 */ 237 SUBSCRIPTION("subscription"), 238 239 /** 240 * tax-category 241 */ 242 TAX_CATEGORY("tax-category"), 243 244 /** 245 * type 246 */ 247 TYPE("type"), 248 249 /** 250 * zone 251 */ 252 ZONE("zone"); 253 private final String jsonName; 254 255 private ReferenceTypeIdEnum(final String jsonName) { 256 this.jsonName = jsonName; 257 } 258 259 public String getJsonName() { 260 return jsonName; 261 } 262 263 public String toString() { 264 return jsonName; 265 } 266 } 267 268 /** 269 * the JSON value 270 * @return json value 271 */ 272 @JsonValue 273 String getJsonName(); 274 275 /** 276 * the enum value 277 * @return name 278 */ 279 String name(); 280 281 /** 282 * convert value to string 283 * @return string representation 284 */ 285 String toString(); 286 287 /** 288 * factory method for a enum value of ReferenceTypeId 289 * if no enum has been found an anonymous instance will be created 290 * @param value the enum value to be wrapped 291 * @return enum instance 292 */ 293 @JsonCreator 294 public static ReferenceTypeId findEnum(String value) { 295 return findEnumViaJsonName(value).orElse(new ReferenceTypeId() { 296 @Override 297 public String getJsonName() { 298 return value; 299 } 300 301 @Override 302 public String name() { 303 return value.toUpperCase(); 304 } 305 306 public String toString() { 307 return value; 308 } 309 }); 310 } 311 312 /** 313 * method to find enum using the JSON value 314 * @param jsonName the json value to be wrapped 315 * @return optional of enum instance 316 */ 317 public static Optional<ReferenceTypeId> findEnumViaJsonName(String jsonName) { 318 return Arrays.stream(values()).filter(t -> t.getJsonName().equals(jsonName)).findFirst(); 319 } 320 321 /** 322 * possible enum values 323 * @return array of possible enum values 324 */ 325 public static ReferenceTypeId[] values() { 326 return ReferenceTypeIdEnum.values(); 327 } 328 329}