/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.shanbo.feluca.node.http; import java.util.HashSet; import java.util.Map; import java.util.Set; import org.shanbo.feluca.util.Strings; /** * * @Description: TODO * @author shanbo.liang */ public class Handlers { Map<String, Handler> handlers = new java.util.concurrent.ConcurrentHashMap<String, Handler>(); public void addHandler(Handler... h) { for (Handler a : h) { handlers.put(a.getPath(), a); } } public Handler getHandler(String path) { return handlers.get(path); } public Set<String> getHandlerPaths(){ Set<String> resultList = new HashSet<String>(); resultList.addAll(this.handlers.keySet()); return resultList; } public String toString(){ StringBuilder sb = new StringBuilder("{"); String[] handlerNames = new String[this.handlers.size()]; int i = 0; for(Handler handler : handlers.values()){ handlerNames[i++] = "\"" + handler.getClass().getName() + "\""; } Strings.arrayToAppend(sb, "response", handlerNames); sb.append("}"); return sb.toString(); } }