package com.dji.sample.control.model.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.Arrays; import java.util.Optional; /** * @author sean * @version 1.4 * @date 2023/3/3 */ public enum CameraModeEnum { NONE(-1),PHOTO(1), VIDEO(2); Integer mode; CameraModeEnum(Integer mode) {this.mode = mode;} @JsonValue public Integer getMode() { return mode; } @JsonCreator public static CameraModeEnum find(int mode) { return Arrays.stream(values()).filter(modeEnum -> modeEnum.mode == mode).findAny().get(); } // @JsonValue // public int getVal() { // return ordinal(); // } // // @JsonCreator // public static CameraModeEnum find(int val) { //// return Arrays.stream(values()).filter(modeEnum -> modeEnum.ordinal() == val).findAny().get(); // return Arrays.stream(values()).filter(modeEnum -> modeEnum.ordinal() == val).findAny() // .orElseThrow(() -> new IllegalArgumentException("Invalid enum value: " + val)); // } }