package com.its.vms.xnettcp.vms.protocol.enums;

import java.util.HashMap;
import java.util.Map;

public enum eVmsFileSaveLocation {
    LOC_DOWNLOAD_FILE         (0x00, "0x00.파일명에 포함"),
    LOC_DOWNLOAD_PROG         (0x01, "0x01.로컬 프로그램이 속하여 있는 디렉토리에 저장"),
    LOC_DOWNLOAD_PROG_ROOT    (0x02, "0x02.로컬 프로그램이 설치된 루트 디렉토리에 저장"),
    LOC_DOWNLOAD_WIN          (0x03, "0x03.윈도우즈 디렉토리에 저장"),
    LOC_DOWNLOAD_WIN_SYS      (0x04, "0x04.윈도우즈 시스템 디렉토리에 저장"),
    LOC_DOWNLOAD_PROG_IMAGE   (0x05, "0x05.로컬 프로그램 이미지 디렉토리에 저장"),
    LOC_DOWNLOAD_PROG_DEFAULT (0x06, "0x06.로컬 프로그램 디폴트 폼 디렉토리에 저장");

    private final int value;
    private final String string;

    private static final Map<Integer, eVmsFileSaveLocation> map;
    static {
        map = new HashMap<>();
        for (eVmsFileSaveLocation e : values()) {
            map.put(e.value, e);
        }
    }

    public static eVmsFileSaveLocation getValue(int value) {
        return map.get(value);
    }
    public static eVmsFileSaveLocation getValue(byte value) {
        int intValue = (value & 0x0F);
        return map.get(intValue);
    }

    eVmsFileSaveLocation(int value, String string) {
        this.value  = value;
        this.string = string;
    }

    public int getValue() {
        return this.value;
    }

    @Override
    public String toString() {
        return this.string;
    }
}
