package org.nutz.el.opt.custom; import java.util.HashMap; import java.util.List; import java.util.Map; import org.nutz.conf.NutConf; import org.nutz.el.opt.RunMethod; import org.nutz.plugin.PluginManager; import org.nutz.plugin.SimplePluginManager; /** * 自定义函数工厂类 * @author juqkai(juqkai@gmail.com) * */ public class CustomMake { private static Map<String, RunMethod> runms = new HashMap<String, RunMethod>(); static{ init(); } /** * 加载插件 */ @SuppressWarnings({ "unchecked", "rawtypes" }) public static void init(){ List<String> plug = (List<String>) ((Map)NutConf.get("EL")).get("custom"); String [] t = plug.toArray(new String[0]); PluginManager<RunMethod> rm = new SimplePluginManager<RunMethod>(t); for(RunMethod r : rm.gets()){ runms.put(r.fetchSelf(), r); } } /** * 自定义方法 工厂方法 */ public static RunMethod make(String val) { return runms.get(val); } }