package org.nutz.el.opt.custom; import java.util.List; import java.util.UUID; import org.nutz.el.opt.RunMethod; import org.nutz.lang.random.R; import org.nutz.plugin.Plugin; /** * EL内置的方法之一, 基本用法 uuid() uuid(32) uuid(64), 分别生成16进制,32进制,64进制的UUID字符串 * @author wendal(wendal1985@gmail.com) * */ public class MakeUUID implements RunMethod, Plugin { public boolean canWork() { return true; } public Object run(List<Object> fetchParam) { if (fetchParam.isEmpty() || !(fetchParam.get(0) instanceof Number)) return UUID.randomUUID().toString().replace("-", ""); int type = ((Number)fetchParam.get(0)).intValue(); switch (type) { case 32: return R.UU32(); case 64: return R.UU64(); default: return UUID.randomUUID().toString().replace("-", ""); } } public String fetchSelf() { return "uuid"; } }