headsky分享 http://blog.sciencenet.cn/u/headsky

博文

利用jspf框架搭建插件式应用

已有 3078 次阅读 2013-12-12 13:38 |系统分类:科研笔记

1.

package SFShortMessage;

import net.xeoh.plugins.base.Plugin;

/**

*

* @author headsky

*/

public interface SMSPlugin extends Plugin{

   public boolean execute();

}

2.

package SFShortMessage;


import net.xeoh.plugins.base.annotations.PluginImplementation;


/**

*

* @author headsky

*/

@PluginImplementation

public class SFShortMessage implements SMSPlugin{

   

   @Override

   public boolean execute() {

       System.out.println("SFShortMessage.execute!");

       return false;

   }

}


3.

package shortmessage;


import SFShortMessage.SMSPlugin;

import java.io.File;

import java.util.Collection;

import java.util.Iterator;

import net.xeoh.plugins.base.PluginManager;

import net.xeoh.plugins.base.impl.PluginManagerFactory;

import net.xeoh.plugins.base.util.PluginManagerUtil;


/**

*

* @author headsky

*/

public class ShortMessage {


   /**

    * @param args the command line arguments

    */

   public static void main(String[] args) {

       // TODO code application logic here

       PluginManager pm = PluginManagerFactory.createPluginManager();

       pm.addPluginsFrom(new File("plugin/").toURI());

       PluginManagerUtil pmUtil = new PluginManagerUtil(pm);

       Collection<SMSPlugin> list = pmUtil.getPlugins(SMSPlugin.class);

       for (Iterator<SMSPlugin> it = list.iterator(); it.hasNext();) {

           SMSPlugin plugin =  it.next();

           plugin.execute();

       }

   }

}




https://blog.sciencenet.cn/blog-521451-749206.html

上一篇:MFC中打印类别型录网
下一篇:基于jenkins的持续集成
收藏 IP: 202.43.145.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-1 06:54

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部