package com.tenwa.httpclient; import java.lang.reflect.Field; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public class ResultMessage { public static final String FAILED_CODE = "410"; public static final String FAILED_MESSAGE = "Getting data failure"; public static final String TIMEOUT_CODE = "411"; public static final String TIMEOUT_MESSAGE = "Connection timed out"; private static final Map messages; static { Field[] fields = ResultMessage.class.getDeclaredFields(); messages = new ConcurrentHashMap(); for(Field field : fields) { if(field.getName().endsWith("_CODE")) { try { messages.put((String)ResultMessage.class.getField(field.getName()).get(null), (String)ResultMessage.class.getField(field.getName().split("_")[0] + "_MESSAGE").get(null)); } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e) { e.printStackTrace(); } } } } public static String get(String messageCode) { return messages.get(messageCode); } }