Sparkplugin开发人员指南【汉化版】
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Sparkplug开发人员指南
Sparkplugs是什么?
Sparkplugs动态扩展Spark即时通讯客户端。
使用Sparkplugs定制Spark,为您的企业或组织开发即时通讯系统,我们希望通过插件的API的描述,让你在开发灵活的Spark客户端变得更加简单,并充满使用乐趣。
本指南提供了SparkAPI和几种常见的例子,如果想更深入的了解请直接转到Javadocs文档中。
我编译了它(Spark),然后呢?
当你编译了超酷的Sparkplug后,就可以很容易的发布给用户,只要将你开发的插件拖到Spark的插件安装路径下,如果你的Sparkplug是普遍有用的,我们希望您能将你的插件分享到Spark社区,将你的Sparkplug插件发送到plugins@中,建立公共信息库
内容
本文件包含以下信息:
✧Spark客户端概述
✧Sparkplug API概述
✧Sparkplug的Java文档
✧插件结构
✧准备开始写你的第一个插件
✧Spark例子和使用方法。
在开发Spark的例子和常见的问题。
Spark客户端概述
Spark客户端的设计理念是让不同层次的用户熟悉和使用它,无论是Workspace还是ChatRoom,都可以根据您的需要访问它。
Spark API概述
Spark API提供了一个用于添加之上的协议和/或客户端UI Spark扩展框架。
例如,你可以写自己的消息过滤器或添加一个按钮,一个聊天室和使用文件传输的API实现传送文件。
Spark API具有以下特征:
✧通过事件监听器拦截,得到通知,并响应特定事件IM的自定义代码。
✧允许定制用户界面,从简单的图标更改,添加按钮,以及添加自己的菜单项。
✧能够使用SMACK API添加自己的XMPP协议的功能。
✧管理器(Managers):Spark客户端为开发插件提供延迟加载的接口。
相关的管理器的有:
⏹SparkManager—SparkManager的核心管理模块器。
你可以使用这个管理器来获得
ChatManager,SessionManager,SoundManager和UserManager实例。
⏹ChatManager—负责处理大多数聊天Chat监听器和过滤器的注册,以及聊天室的
创建和检索。
它也可以用来检索ChatFrame用户界面。
⏹SessionManager--包含有关当前会话信息,如连接到服务器,连接的错误和个人
存在(presence)变动的通知处理。
⏹SoundManager --用于播放声音。
✧事件处理(Event Handlers):Spark包含了大量的监听和处理程序,以便把更多插件可以
嵌入到Spark client。
比较常见的监听和处理程序有:
⏹ChatRoomListener(和ChatRoomListenerAdapter)- 允许的插件监听聊天室被打开,
关闭和启动。
通常你会使用这个自定义的个人聊天室。
⏹MessageListener --消息接收或发送监听器
⏹ContactGroupListener --联络组变动监听器。
⏹ContactListListener --联系人列表变动监听器。
⏹FileTransferListener --拦截文件传输监听器。
⏹ContextMenuListener --右键弹出菜单(上下文菜单)监听器,允许添加、删除动作
或添加删除菜单项。
⏹PresenceListener–人员状态变化监听器。
⏹ContactItemHandler– ContactItem在线状态变化控制监听。
✧组件(Components):Spark包含了需要在你开发插件时使用的Swing组件,较为常用的
有:
⏹MainWindow--该框架包含联系人列表。
您可以使用MainWindow添加新的标签,
菜单项或焦点控件。
⏹ChatRoom–聊天室基础的抽象类。
它的实现是ChatRoomImpl和GroupChatRoom。
⏹ChatArea–为TranscriptWindow和ChatInputEditor的基本聊天视图控件。
⏹ContactList–Spark的联系人列表界面控件
⏹ChatRoomButton–聊天室的外观按钮,用于适应聊天室的主题。
Plugin的结构
Plugin的安装
你只需要将要安装的插件JAR拖放到你的Spark客户端安装插件目录中。
方法。
开始编写Sparkplugs
为了建立自己的SparkPlugs,你需要将工程属性中的所有项目设置到ClassPath中,将Sparkplug.zip 或Sparplug.tar.gz解压缩,你将看到以下内容:
✧编译Spark,需要1.4以上版本的JRE;
✧将Sparkplugs/spark/lib和Sparkplugs/spark/lib/windows文件夹添加到Classpath;
✧添加资源目录(Sparkplugins/spark/resource)到本地Classpath中;
✧Main Class - org.jivesoftware.Spark;
✧VM参数--Dplugin=path_to_your_plugin.xml文件,这使您的插件可以运行在IDE以外的
环境中;
✧就这些。
我们提供了可以轻松的构建、部署你的插件到你的的Spark测试环境中。
在使用时
Spark是如何做的呢?
所有代码示例可以在examples.jar文件找到。
✧如何创建一个简单的插件
✧如何将我自己的标签到Spark工作空间
✧如何添加一个上下文菜单监听到联系人列表
✧如何添加ContextMenu监听到一个聊天室
✧如何添加菜单到Spark
✧如何添加一个按钮到聊天室
✧如何添加自己喜欢的Spark搜索,比如用户搜索或谷歌搜索在Firefox ✧怎么能拦截文件传输请求
✧如何发送一个文件给其他用户
✧如何控制用户界面和事件的ContactItem处理
✧Spark发生变化时,怎么能通知用户更改时
✧如何添加消息筛选器
✧如何创建一个人对人的聊天室
✧如何创建一个公共会议室
✧如何添加自己的首选项
✧当有新消息是如果进行消息提示
如何创建一个简单的插件
如何将我自己的标签到Spark工作空间
1.实现Plugin;
2.取得Spark用户界面:Workspace;
3.取得WorkspacePane,这是Spark的Tab面板;
如何在联系人列表中添加一个上下文菜单监听者
1.实现Plugin;
2.在Spark的Workspace中取得ContactList
如何在一个聊天室ChatRom中添加上下文菜单监听
1.实现Plugin
2.添加ChatRoomListener到ChatManager
3.从ChatRoom获取TranscriptWindow或ChatInputEditor
4.添加ContactMenuListener到ChatArea
如何添加菜单到Spark
1.实现Plugin
2.从SparkManager取得MainWindow
如何添加一个按钮到聊天室
1.实现Plugin
2.添加ChatRoomListener 到ChatManager
3.当房间打开时,添加ChatRoomButton到ChatRoom的ToolBar上
如何添加自己Spark搜索功能,如用户搜索或Firefox上的谷歌搜索
1.实现Plugin
2.创建一个搜索对象来实现Searchable接口
3.添加Searchable的实现到SearchManager
怎么能拦截文件传输请求
1.实现Plugin
2.实现TransferListener
如何发送一个文件给其他用户
1.实现Plugin
2.通过UserManager获取用户的完整的JID
如何控制ContactItem的UI和事件处理
1.实现Plugin
2.获取ContactList
3.通过用户的JID获取ContactItem(s)基本信息
4.添加自己ContactItemHandler到ContactItem
Spark发生变化时,怎么能通知用户
1.实现Plugin
2.从SparkManager 中获取SessionManager
如何添加消息筛选器
1.实现Plugin
2.从SparkManager中获取ChatManager
3.创建Message Filter实例
如何创建一个人对人(点对点)的聊天室
1.实现Plugin
2.从SparkManager 获取ChatManager
3.使用ChatManager 创建一个新的ChatRoom
如何创建一个公共会议室
1.实现Plugin
2.从SparkManager 获取ChatManager
3.使用ChatManager创建一个会议聊天室(Conference ChatManager)
如何添加自己的首选项
1.实现Plugin
2.创建一个类实现Preference接口
3.使用Preference创建一个自己的界面
当接收到新消息时,如果进行消息提示
原文地址:/builds/sparkplug_kit/docs/latest/sparkplug_dev_guide.html。