package com.nanjing.water.common.enums;

import java.util.Arrays;

/**
 * token存放地方 枚举
 * @author linliu
 * @date   2019-06-04
 */
public enum ERequestTokenFrom {
    /**
     * token从 headers 传输
     */
    HEADERS("headers", 1),
    /**
     * token从 urls 传输
     */
    URLS("urls", 2);

    private String desc;//枚举描述
    private int value;//枚举值

    public int getValue() {
        return value;
    }
    public String getDesc() {
        return desc;
    }

    /**
     * 构造方法
     * @param desc 枚举描述
     * @param value 枚举值
     */
    ERequestTokenFrom(String desc, int value) {
        this.desc = desc;
        this.value = value;
    }

    /**
     * 根据值获取枚举
     *
     * @param value 枚举值
     * @return
     */
    public static ERequestTokenFrom getByValue(int value) {
        return Arrays.stream(ERequestTokenFrom.values())
                .filter(e -> e.getValue() == value)
                .findFirst()
                .orElse(null);
    }

    @Override
    public String toString() {
        return "ERequestTokenFrom{" +
                "desc='" + desc + '\'' +
                ", value=" + value +
                '}';
    }
}