package com.bonus.canteen.core.common.enums;

import java.util.ArrayList;
import java.util.List;

public enum FileNameSuffixEnum {
   FILE_TYPE_JPG("jpg", "JPG"),
   FILE_TYPE_JPEG("jpeg", "JPEG"),
   FILE_TYPE_GIF("gif", "GIF"),
   FILE_TYPE_BMP("bmp", "BMP"),
   FILE_TYPE_PNG("png", "PNG"),
   FILE_TYPE_APK("apk", "APK"),
   FILE_TYPE_BIN("bin", "BIN"),
   FILE_TYPE_PFX("pfx", "PFX"),
   FILE_TYPE_CRT("crt", "CRT"),
   FILE_TYPE_CER("cer", "CER"),
   FILE_TYPE_KEY("key", "KER"),
   FILE_TYPE_P12("p12", "P12"),
   FILE_TYPE_ZIP("zip", "ZIP"),
   FILE_TYPE_TXT("txt", "TXT"),
   FILE_TYPE_MP4("mp4", "MP4"),
   FILE_TYPE_AVI("avi", "AVI"),
   FILE_TYPE_FLV("flv", "FLV"),
   FILE_TYPE_MKV("mkv", "MKV"),
   FILE_TYPE_MOV("mov", "MOV"),
   FILE_TYPE_RMVB("rmvb", "RMVB"),
   FILE_TYPE_WMV("wmv", "WMV"),
   FILE_TYPE_ICO("ico", "ICO");

   private final String key;
   private final String desc;

   private FileNameSuffixEnum(String key, String desc) {
      this.key = key;
      this.desc = desc;
   }

   public static List<String> getImgNameList() {
      List<String> imgNameList = new ArrayList();
      imgNameList.add(FILE_TYPE_JPG.getDesc());
      imgNameList.add(FILE_TYPE_JPEG.getDesc());
      imgNameList.add(FILE_TYPE_GIF.getDesc());
      imgNameList.add(FILE_TYPE_BMP.getDesc());
      imgNameList.add(FILE_TYPE_PNG.getDesc());
      return imgNameList;
   }

   public static List<String> getPhotoNameList() {
      List<String> imgNameList = new ArrayList();
      imgNameList.add(FILE_TYPE_JPG.getDesc());
      imgNameList.add(FILE_TYPE_JPEG.getDesc());
      imgNameList.add(FILE_TYPE_PNG.getDesc());
      return imgNameList;
   }

   public static List<String> getAllFileNameList() {
      List<String> fileNameList = getImgNameList();
      fileNameList.add(FILE_TYPE_APK.getDesc());
      fileNameList.add(FILE_TYPE_BIN.getDesc());
      fileNameList.add(FILE_TYPE_PFX.getDesc());
      fileNameList.add(FILE_TYPE_CRT.getDesc());
      fileNameList.add(FILE_TYPE_CER.getDesc());
      fileNameList.add(FILE_TYPE_KEY.getKey());
      fileNameList.add(FILE_TYPE_P12.getDesc());
      fileNameList.add(FILE_TYPE_TXT.getDesc());
      fileNameList.add(FILE_TYPE_ZIP.getDesc());
      fileNameList.add(FILE_TYPE_ICO.getDesc());
      fileNameList.add(FILE_TYPE_MP4.getDesc());
      fileNameList.add(FILE_TYPE_AVI.getDesc());
      fileNameList.add(FILE_TYPE_FLV.getDesc());
      fileNameList.add(FILE_TYPE_MKV.getDesc());
      fileNameList.add(FILE_TYPE_MOV.getDesc());
      fileNameList.add(FILE_TYPE_RMVB.getDesc());
      fileNameList.add(FILE_TYPE_WMV.getDesc());
      return fileNameList;
   }

   public String getKey() {
      return this.key;
   }

   public String getDesc() {
      return this.desc;
   }

   // $FF: synthetic method
   private static FileNameSuffixEnum[] $values() {
      return new FileNameSuffixEnum[]{FILE_TYPE_JPG, FILE_TYPE_JPEG, FILE_TYPE_GIF, FILE_TYPE_BMP, FILE_TYPE_PNG, FILE_TYPE_APK, FILE_TYPE_BIN, FILE_TYPE_PFX, FILE_TYPE_CRT, FILE_TYPE_CER, FILE_TYPE_KEY, FILE_TYPE_P12, FILE_TYPE_ZIP, FILE_TYPE_TXT, FILE_TYPE_MP4, FILE_TYPE_AVI, FILE_TYPE_FLV, FILE_TYPE_MKV, FILE_TYPE_MOV, FILE_TYPE_RMVB, FILE_TYPE_WMV, FILE_TYPE_ICO};
   }
}
