[]
开始本教程前,请确保已经仔细阅读了 Java服务端命令插件快速入门 章节,并已经完成了环境准备,通过活字格插件构建器创建了默认工程。后续的文档都会基于活字格插件构建器创建的空白工程进行讲解。
我们已经通过活字格插件构建工具开发了第一个服务端命令插件。
首先,我们来查看代码结构。
修改服务端命令插件时,重点关注 MyPlugin.java 文件。
MyPlugin.java 默认代码如下:
@Data
@Icon("resources/Icon.png")
public class MyPlugin extends Command implements ICommandExecutableInServerSide {
@DisplayName("名称:")
@FormulaProperty
@Required
private Object name = "MyPlugin";
@Required
@FormulaProperty
@DisplayName("加数1")
private Object addNumber1;
@Required
@FormulaProperty
@DisplayName("加数2")
private Object addNumber2;
@ResultToProperty
@FormulaProperty
@DisplayName("相加结果")
private String resultTo = "结果";
/**
* 命令执行方法
* @param dataContext 从服务器端传递给命令执行时的上下文信息
* @return 是否执行成功
*/
@Override
public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
int add1num = Integer.parseInt(addNumber1.toString());
int add2num = Integer.parseInt(addNumber2.toString());
dataContext.getParameters().put(resultTo, add1num + add2num);
ExecuteResult executeResult = new ExecuteResult();
executeResult.getReturnValues().put("hello", name);
return executeResult;
}
/**
* 返回插件的名称
* @return 插件的名称
*/
@Override
public String toString() {
return "我的插件";
}
}
第一行代码 @Data 用于使用lombok注解免于手写getter setter。
第二行代码 @Icon("resources/Icon.png") 用于指定图标文件的位置。
第三行 public class MyPlugin extends Command implements ICommandExecutableInServerSide
用于定义服务端命令类型,必须从 Command 类或其子类派生,并且实现 ICommandExecutableInServerSide 接口。
第四行至第二十二行定义了两个公式属性“加数1”和“加数2”,已经一个返回值属性“相加结果”。开发者需要根据自己的业务需求定义属性,关于如何定义和使用属性,在后续添加属性章节中有详细的讲解。
第三十到第四十行定义了 execute 方法,execute方法是服务端命令的核心函数,用于定义服务端命令的执行逻辑,当服务端命令执行时,这个函数会被调用。示例代码中,execute 函数通过 Integer.parseInt 方法将加数1和加数2转换成int值,并把相加的结果回存到了结果变量中,完成了基本的执行逻辑。开发者需要根据业务需求重写这部分代码。
第四十七到第四十九行,重写了toString()方法指定了在设计器中服务端命令显示的文本
双击Maven 的 package 即可在当前工程的 target 文件夹中生成当前插件的 zip 包。
然后在活字格设计器中手动安装此插件即可。或双击 Maven 的 install 即可自动安装当前插件。重启设计器即可看到当前插件。
1.在设计器中找到 “我的插件”服务端命令插件。创建服务端命令,命令选择“我的插件”,可以看到定义的属性如下:
2.给服务端命令定义“参数1”和“参数2”如下:
3.编辑“我的插件”命令。
4.编辑完成后,测试服务端命令。
5.在弹出的对话框中添加设置参数后,单击“测试”按钮。
6.查看结果如下:
至此,我们完成了一个简单的 Java 服务端命令插件的开发和使用过程。