JPress插件开发教程实例

JPress之家发布 开发教程 2016-09-05 868

由于目前jpress开发者还不是很多,所以目前jpress开发的插件还比较少,官方也没有放出相关的jpress插件开发文档,只有一个helloword插件开发例子。

本篇文章就带您简单的分析下相关的插件开发代码。

最新的jpress插件例子代码是8月23号刚刚更新的,代码结构还是比较优雅的,上手难度不大。

通过git clone下整个项目代码,找到【JPress-addon-helloword】文件夹即可,或者直接导入eclipse编辑器找到该项目类库。

jpress插件helloword的核心代码主要就两个:HelloMessage.java 和HelloAddon.java,下面小编一一为大家阐释。

首先是HelloAddon.java,代码部分如下:

 

public class HelloAddon extends Addon {
	/**
	 * AddonController 请求的钩子
	 * @param controller
	 */
	@Hook(Hooks.PROCESS_CONTROLLER)
	public Render hello(Controller controller) {
		// 访问 http://127.0.0.1:8080/addon 看到效果
		return new TextRender("hello addon");
	}
	@Override
	public boolean onStart() {
		MessageKit.register(HelloMessage.class);
		return true;
	}
	@Override
	public boolean onStop() {
		MessageKit.unRegister(HelloMessage.class);
		return true;
	}
}

对其中的HelloMessage.java代码如下,先贴出来:

 

package io.jpress.addon.helloworld;

import io.jpress.menu.MenuGroup;
import io.jpress.menu.MenuItem;
import io.jpress.menu.MenuManager;
import io.jpress.message.Message;
import io.jpress.message.MessageListener;
import io.jpress.message.annotation.Listener;

@Listener(action = MenuManager.ACTION_INIT_MENU, async = false)
public class HelloMessage implements MessageListener {

	@Override
	public void onMessage(Message message) {

		MenuManager manager = message.getData();

		MenuGroup menuGroup = new MenuGroup("hello-test", null, "插件测试");

		MenuItem item = new MenuItem("test", "#", "插件测试");
		menuGroup.addMenuItem(item);

		manager.addMenuGroup(menuGroup);

	}

}
 

JPress插件开发主要就是对jpress中Hook钩子的理解,另外插件一定要继承Addon这个类。