package com.alibaba.doris.dataserver.action.data; import com.alibaba.doris.common.data.util.ByteUtils; import com.alibaba.doris.dataserver.action.ActionType; import com.alibaba.doris.dataserver.action.parser.ActionParser; import com.alibaba.doris.dataserver.action.parser.CheckActionParser; import com.alibaba.doris.dataserver.action.parser.CompareAndDeleteActionParser; import com.alibaba.doris.dataserver.action.parser.CompareAndSetActionParser; import com.alibaba.doris.dataserver.action.parser.DeleteActionParser; import com.alibaba.doris.dataserver.action.parser.ErrorActionParser; import com.alibaba.doris.dataserver.action.parser.ExitActionParser; import com.alibaba.doris.dataserver.action.parser.GetActionParser; import com.alibaba.doris.dataserver.action.parser.SetActionParser; import com.alibaba.doris.dataserver.action.parser.ShutdownActionParser; /** * @author ajun Email:jack.yuj@alibaba-inc.com */ public enum BaseActionType implements ActionType { SET("set", new SetActionParser()), /* set */ CAS("cas", new CompareAndSetActionParser()), /* cas */ GET("get", new GetActionParser()), /* get */ DELETE("delete", new DeleteActionParser()), /* delete */ CAD("cad", new CompareAndDeleteActionParser()), /* cad */ ERROR("error", new ErrorActionParser()), /* error */ EXIT("exit", new ExitActionParser()), /* exit */ SHUTDOWN("shutdown", new ShutdownActionParser()), /* shutdown */ CHECK("check", new CheckActionParser()) /* check */; private BaseActionType(String name, ActionParser parser) { this.name = name; this.nameBytes = ByteUtils.stringToByte(name); this.parser = parser; } public byte[] getNameBytes() { return nameBytes; } public String getName() { return name; } public ActionParser getParser() { return parser; } private byte[] nameBytes; private String name; private ActionParser parser; }