// Path: iextrading4j-hist-api/src/main/java/pl/zankowski/iextrading4j/hist/api/IEXByteEnum.java
// public interface IEXByteEnum {
// 
//     byte getCode();
// 
// }
// 
// Path: iextrading4j-hist-api/src/main/java/pl/zankowski/iextrading4j/hist/api/util/IEXByteEnumLookupUtil.java
// public static <E extends Enum<E> & IEXByteEnum> E lookup(final Class<E> clazz, final Map<Byte, E> lookup,
//         byte code) {
//     final E value = lookup.get(code);
//     if (value == null) {
//         throw new IllegalArgumentException("Unknown value: " + code + " for enum " + clazz.getSimpleName());
//     }
//     return value;
// }


import pl.zankowski.iextrading4j.hist.api.IEXByteEnum;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;
import static pl.zankowski.iextrading4j.hist.api.util.IEXByteEnumLookupUtil.lookup;
package pl.zankowski.iextrading4j.hist.api.message.trading.field;




public enum IEXPriceType implements IEXByteEnum {

    IEX_OFFICIAL_OPENING_PRICE((byte) 0x51),
    IEX_OFFICIAL_CLOSING_PRICE((byte) 0x4d);

    private static final Map<Byte, IEXPriceType> LOOKUP = new HashMap<>();

    static {
        for (final IEXPriceType value : EnumSet.allOf(IEXPriceType.class))
            LOOKUP.put(value.getCode(), value);
    }

// Path: iextrading4j-hist-api/src/main/java/pl/zankowski/iextrading4j/hist/api/IEXByteEnum.java
// public interface IEXByteEnum {
// 
//     byte getCode();
// 
// }
// 
// Path: iextrading4j-hist-api/src/main/java/pl/zankowski/iextrading4j/hist/api/util/IEXByteEnumLookupUtil.java
// public static <E extends Enum<E> & IEXByteEnum> E lookup(final Class<E> clazz, final Map<Byte, E> lookup,
//         byte code) {
//     final E value = lookup.get(code);
//     if (value == null) {
//         throw new IllegalArgumentException("Unknown value: " + code + " for enum " + clazz.getSimpleName());
//     }
//     return value;
// }


// Path: iextrading4j-hist-api/src/main/java/pl/zankowski/iextrading4j/hist/api/message/trading/field/IEXPriceType.java
import pl.zankowski.iextrading4j.hist.api.IEXByteEnum;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;
import static pl.zankowski.iextrading4j.hist.api.util.IEXByteEnumLookupUtil.lookup;

package pl.zankowski.iextrading4j.hist.api.message.trading.field;




public enum IEXPriceType implements IEXByteEnum {

    IEX_OFFICIAL_OPENING_PRICE((byte) 0x51),
    IEX_OFFICIAL_CLOSING_PRICE((byte) 0x4d);

    private static final Map<Byte, IEXPriceType> LOOKUP = new HashMap<>();

    static {
        for (final IEXPriceType value : EnumSet.allOf(IEXPriceType.class))
            LOOKUP.put(value.getCode(), value);
    }

    private final byte code;