📄 bssimlinkbean.java
字号:
package edu.ou.kmi.buddyspace.plugins.simlink.core;
/*
* BSSimLinkBean.java
*
* Project: BuddySpace
* (C) Copyright Knowledge Media Institute 2005
*
*
* Created on 12 May 2005
*/
import java.util.*;
import org.jabber.jabberbeans.*;
import org.jabber.jabberbeans.util.*;
import edu.ou.kmi.buddyspace.gui.BSMainFrame;
/**
* @author Chris Denham, Knowledge Media Institute, Open University, United Kingdom
*/
public class BSSimLinkBean implements PacketListener {
protected MessengerBean msgBean = null;
protected final String name = "SimLink";
protected Vector simLinkListeners = null;
/**
* Constructor
*/
public BSSimLinkBean() {
simLinkListeners = new Vector();
}
/**
* Sets existing and connected <code>MessengerBean</code>.
* Then this is registered as listener for message packets.
*/
public void setMessengerBean(MessengerBean msgBean) {
if (this.msgBean != null)
this.msgBean.delPacketListener(this);
this.msgBean = msgBean;
if (msgBean != null)
msgBean.addPacketListener(this);
}
/**
* Returns currently used <code>MessengerBean</code>.
*/
public MessengerBean getMessengerBean() {
return msgBean;
}
/**
* Handles <code>Message</code> packet.
*/
protected void handleMessage(Message msg) {
if ((new String("error")).equals(msg.getType()))
return;
JID jid = msg.getFromAddress();
String originID = new String(jid.getUsername() + "@" + jid.getServer());
if (!originID.equalsIgnoreCase(BSMainFrame.simLinkBotJID))return;
String body = msg.getBody();
fireSimLinkMessageReceived(body);
}
/**
* Invoked when a message packet is received.
*/
public void receivedPacket(PacketEvent event) {
Packet packet = event.getPacket();
if (packet instanceof Message) {
Message msg = (Message) packet;
handleMessage(msg);
}
}
/**
* Invoked when a message packet send failes.
*/
public void sendFailed(PacketEvent event) {
}
/**
* Invoked when a message packet is sent.
*/
public void sentPacket(PacketEvent event) {
}
/**
* Frees all object bindings to allow object destroy
*/
protected void prepareToDestroy() {
removeAllSimLinkListeners();
if (msgBean != null) {
msgBean.delPacketListener(this);
msgBean = null;
}
}
/**
* Adds <code>SimLinkListener</code> to listeners notified when
* simlink messages arrive.
*/
public void addSimLinkListener(BSSimLinkListener listener) {
if (listener == null) return;
if (!simLinkListeners.contains(listener)) {
simLinkListeners.addElement(listener);
}
}
/**
* Removes <code>BuddyFinderListener</code> from listeners notified when
* buddyfinder results arrive.
*/
public void removeSimLinkListener(BSSimLinkListener listener) {
if (listener == null) return;
simLinkListeners.removeElement(listener);
}
/**
* Removes all listeners notified when simlink messages arrive.
* This can be used before to free dependencies and allow dispose of
* all objects.
*/
public void removeAllSimLinkListeners() {
simLinkListeners.clear();
}
/**
* Notifies simlink listeners that a simlink message has arrived.
*/
protected void fireSimLinkMessageReceived(String message) {
for (Enumeration e = simLinkListeners.elements(); e.hasMoreElements(); ) {
BSSimLinkListener listener = (BSSimLinkListener) e.nextElement();
listener.simLinkMessageReceived(message);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -