package com.ctrip.framework.apollo.core.enums; import com.ctrip.framework.apollo.core.utils.StringUtils; /** * @author Jason Song(song_s@ctrip.com) */ public enum ConfigFileFormat { Properties("properties"), XML("xml"), JSON("json"), YML("yml"), YAML("yaml"); private String value; ConfigFileFormat(String value) { this.value = value; } public String getValue() { return value; } public static ConfigFileFormat fromString(String value) { if (StringUtils.isEmpty(value)) { throw new IllegalArgumentException("value can not be empty"); } switch (value) { case "properties": return Properties; case "xml": return XML; case "json": return JSON; case "yml": return YML; case "yaml": return YAML; } throw new IllegalArgumentException(value + " can not map enum"); } public static boolean isValidFormat(String value) { try { fromString(value); return true; } catch (IllegalArgumentException e) { return false; } } }