001 002package com.commercetools.importapi.models.orders; 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>Maps to <code>Order.orderState</code>.</p> 015 */ 016@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 017public interface OrderState extends JsonEnum { 018 019 OrderState OPEN = OrderStateEnum.OPEN; 020 021 OrderState CONFIRMED = OrderStateEnum.CONFIRMED; 022 023 OrderState COMPLETE = OrderStateEnum.COMPLETE; 024 025 OrderState CANCELLED = OrderStateEnum.CANCELLED; 026 027 /** 028 * possible values of OrderState 029 */ 030 enum OrderStateEnum implements OrderState { 031 /** 032 * Open 033 */ 034 OPEN("Open"), 035 036 /** 037 * Confirmed 038 */ 039 CONFIRMED("Confirmed"), 040 041 /** 042 * Complete 043 */ 044 COMPLETE("Complete"), 045 046 /** 047 * Cancelled 048 */ 049 CANCELLED("Cancelled"); 050 private final String jsonName; 051 052 private OrderStateEnum(final String jsonName) { 053 this.jsonName = jsonName; 054 } 055 056 public String getJsonName() { 057 return jsonName; 058 } 059 060 public String toString() { 061 return jsonName; 062 } 063 } 064 065 /** 066 * the JSON value 067 * @return json value 068 */ 069 @JsonValue 070 String getJsonName(); 071 072 /** 073 * the enum value 074 * @return name 075 */ 076 String name(); 077 078 /** 079 * convert value to string 080 * @return string representation 081 */ 082 String toString(); 083 084 /** 085 * factory method for a enum value of OrderState 086 * if no enum has been found an anonymous instance will be created 087 * @param value the enum value to be wrapped 088 * @return enum instance 089 */ 090 @JsonCreator 091 public static OrderState findEnum(String value) { 092 return findEnumViaJsonName(value).orElse(new OrderState() { 093 @Override 094 public String getJsonName() { 095 return value; 096 } 097 098 @Override 099 public String name() { 100 return value.toUpperCase(); 101 } 102 103 public String toString() { 104 return value; 105 } 106 }); 107 } 108 109 /** 110 * method to find enum using the JSON value 111 * @param jsonName the json value to be wrapped 112 * @return optional of enum instance 113 */ 114 public static Optional<OrderState> findEnumViaJsonName(String jsonName) { 115 return Arrays.stream(values()).filter(t -> t.getJsonName().equals(jsonName)).findFirst(); 116 } 117 118 /** 119 * possible enum values 120 * @return array of possible enum values 121 */ 122 public static OrderState[] values() { 123 return OrderStateEnum.values(); 124 } 125 126}