package com.alibaba.jstorm.metric; import java.util.HashMap; import java.util.Map; /** * @author Cody (weiyue.wy@alibaba-inc.com) * @since 2.0.5 */ public enum MetricType { COUNTER("C", 1), GAUGE("G", 2), METER("M", 3), HISTOGRAM("H", 4), TIMER("T", 5); private String v; private int t; MetricType(String v, int t) { this.v = v; this.t = t; } public int getT() { return this.t; } public String getV() { return this.v; } private static final Map<String, MetricType> valueMap = new HashMap<String, MetricType>(); private static final Map<Integer, MetricType> typeMap = new HashMap<Integer, MetricType>(); static { for (MetricType type : MetricType.values()) { typeMap.put(type.getT(), type); valueMap.put(type.getV(), type); } } public static MetricType parse(char ch) { return parse(ch + ""); } public static MetricType parse(String s) { return valueMap.get(s); } public static MetricType parse(int t) { return typeMap.get(t); } }