edu.ou.kmi.buddyspace.plugins.conference.core
Class BSConfBean

java.lang.Object
  |
  +--edu.ou.kmi.buddyspace.plugins.conference.core.BSConfBean
All Implemented Interfaces:
BSPresenceListener

public class BSConfBean
extends java.lang.Object
implements BSPresenceListener

BSConfBean provides conferencing handling. It relies on BSConnectionBean, which must be set after each reconnection.


Field Summary
protected  BSMessengerBean bsMsgBean
           
protected  BSConsumerList confConsumers
           
protected  java.util.Vector confListeners
           
protected  IQBean iqBean
           
protected  MessengerBean msgBean
           
protected  java.lang.String name
           
protected  BSPresenceBean presenceBean
           
protected  java.util.Hashtable rooms
           
 
Constructor Summary
BSConfBean()
          Constructor
 
Method Summary
 void addConfConsumer(BSConfConsumer consumer)
          Adds BSConfConsumer from consumers notified when conference event appears.
 void addConfListener(BSConfListener listener)
          Adds BSConfListener from listeners notified when conference event appears.
 boolean createRoom(java.lang.String roomName, java.lang.String server, java.lang.String nick)
          Creates or joins a conference room.
 void disconnected()
          Called when disconneted.
protected  void fireError(JID roomJID, java.lang.String errCode, java.lang.String errMsg)
          Notifies conference listeners that error occured.
protected  void fireGroupMessage(JID fromAddress, java.lang.String nick, java.lang.String body)
          Notifies conference cunsumers and listeners that groupchat message arrived.
protected  void fireInvitation(JID fromAddress, JID roomJID, java.lang.String subject, java.lang.String body)
          Notifies conference listeners that invitation into room arrived.
protected  void firePresenceChanged(JID fromAddress, java.lang.String nick, BSPresenceInfo pi)
          Notifies conference listeners that presence of nick in room changed.
protected  void firePrivateMessage(JID fromAddress, java.lang.String nick, java.lang.String body)
          Notifies conference listeners that private message arrived.
protected  void fireRoomMessage(JID roomJID, java.lang.String body)
          Notifies conference listeners that message from room arrived.
protected  void fireSetMyJID(JID roomJID, JID myJID)
          Notifies conference listeners about myJID in conference.
 IQBean getIQBean()
          Returns currently used IQBean.
 MessengerBean getMessengerBean()
          Returns currently used MessengerBean.
 java.lang.String getNick(JID jid)
          Returns nick of given JID
 BSPresenceBean getPresenceBean()
          Returns currently used BSPresenceBean.
 java.util.Enumeration getRoster(JID roomJID)
          Returns users inside given room
 void leaveRoom(JID roomJID)
          Leaves the room
 void prepareToDestroy()
          Frees all object bindings to allow object destroy
 void presenceChanged(BSPresenceInfo pi)
          BSPresenceListener function - gets nick and sends farther
 void presencesCleared()
          BSPresenceListener function - clears all presences
 void receivedPacket(PacketEvent pe)
          Invoked when a message or iq packet is received.
 void removeAllConfConsumers()
          Removes all consumers notified when conference event appears.
 void removeAllConfListeners()
          Removes all listeners notified when conference event appears.
 void removeConfConsumer(BSConfConsumer consumer)
          Removes BSConfConsumer from consumers notified when conference event appears.
 void removeConfListener(BSConfListener listener)
          Removes BSConfListener from listeners notified when conference event appears.
 void sendFailed(PacketEvent pe)
          called if a packet is not successfully sent (for instance, if the connection dies while the packet is queued, or a packet is sent while disconnected).
 boolean sendInvitation(JID toAddress, JID roomJID, java.lang.String subject, java.lang.String body)
          Sends invitation into given room to given JID
 boolean sendMessage(JID roomAddress, java.lang.String body)
          Sends message to the room.
 void sendPresence(BSPresenceInfo pi, JID roomAddress)
          Sends presence to the jid (room)
 Message sendURLMessage(JID roomAddress, java.lang.String body, java.lang.String url, java.lang.String urlDesc)
          Sends message with URL into the room.
 void sentPacket(PacketEvent pe)
          called whenever a local client sends a packet, after the sending is successful
 void setIQBean(IQBean iqBean)
          Sets existing and connected IQBean.
 void setMessengerBean(BSMessengerBean bsMsgBean)
          Sets existing and connected MessengerBean.
 void setPresenceBean(BSPresenceBean presenceBean)
          Sets existing and connected BSPresenceBean.
 void subscriptionApproved(JID jid)
          BSPresenceListener function - empty implementation
 void subscriptionRequested(JID jid)
          BSPresenceListener function - empty implementation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

msgBean

protected MessengerBean msgBean

bsMsgBean

protected BSMessengerBean bsMsgBean

iqBean

protected IQBean iqBean

presenceBean

protected BSPresenceBean presenceBean

name

protected java.lang.String name

rooms

protected java.util.Hashtable rooms

confListeners

protected java.util.Vector confListeners

confConsumers

protected BSConsumerList confConsumers
Constructor Detail

BSConfBean

public BSConfBean()
Constructor

Method Detail

setIQBean

public void setIQBean(IQBean iqBean)
Sets existing and connected IQBean. Then this is registered as listener for IQ packets.


setMessengerBean

public void setMessengerBean(BSMessengerBean bsMsgBean)
Sets existing and connected MessengerBean. Then this is registered as listener for message packets.


setPresenceBean

public void setPresenceBean(BSPresenceBean presenceBean)
Sets existing and connected BSPresenceBean. Then this is registered as listener for presence events.


getIQBean

public IQBean getIQBean()
Returns currently used IQBean.


getMessengerBean

public MessengerBean getMessengerBean()
Returns currently used MessengerBean.


getPresenceBean

public BSPresenceBean getPresenceBean()
Returns currently used BSPresenceBean.


disconnected

public void disconnected()
Called when disconneted.


prepareToDestroy

public void prepareToDestroy()
Frees all object bindings to allow object destroy


createRoom

public boolean createRoom(java.lang.String roomName,
                          java.lang.String server,
                          java.lang.String nick)
Creates or joins a conference room.


sendPresence

public void sendPresence(BSPresenceInfo pi,
                         JID roomAddress)
Sends presence to the jid (room)


leaveRoom

public void leaveRoom(JID roomJID)
Leaves the room


sendMessage

public boolean sendMessage(JID roomAddress,
                           java.lang.String body)
Sends message to the room.

Parameters:
roomAddress - is JID of room
body - is body of message

sendURLMessage

public Message sendURLMessage(JID roomAddress,
                              java.lang.String body,
                              java.lang.String url,
                              java.lang.String urlDesc)
Sends message with URL into the room.

Parameters:
roomAddress - is JID of room
body - is body of message
url - is URL
urlDesc - is description of URL

receivedPacket

public void receivedPacket(PacketEvent pe)
Invoked when a message or iq packet is received.


sendInvitation

public boolean sendInvitation(JID toAddress,
                              JID roomJID,
                              java.lang.String subject,
                              java.lang.String body)
Sends invitation into given room to given JID


sendFailed

public void sendFailed(PacketEvent pe)
called if a packet is not successfully sent (for instance, if the connection dies while the packet is queued, or a packet is sent while disconnected).

Parameters:
pe - PacketEvent for the failed send

sentPacket

public void sentPacket(PacketEvent pe)
called whenever a local client sends a packet, after the sending is successful

Parameters:
pe - PacketEvent that has just been sent

getRoster

public java.util.Enumeration getRoster(JID roomJID)
Returns users inside given room


getNick

public java.lang.String getNick(JID jid)
Returns nick of given JID


presenceChanged

public void presenceChanged(BSPresenceInfo pi)
BSPresenceListener function - gets nick and sends farther

Specified by:
presenceChanged in interface BSPresenceListener

presencesCleared

public void presencesCleared()
BSPresenceListener function - clears all presences

Specified by:
presencesCleared in interface BSPresenceListener

subscriptionApproved

public void subscriptionApproved(JID jid)
BSPresenceListener function - empty implementation

Specified by:
subscriptionApproved in interface BSPresenceListener

subscriptionRequested

public void subscriptionRequested(JID jid)
BSPresenceListener function - empty implementation

Specified by:
subscriptionRequested in interface BSPresenceListener

addConfListener

public void addConfListener(BSConfListener listener)
Adds BSConfListener from listeners notified when conference event appears.

See Also:
removeConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeAllConfListeners(), #fireConfReceived

removeConfListener

public void removeConfListener(BSConfListener listener)
Removes BSConfListener from listeners notified when conference event appears.

See Also:
addConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeAllConfListeners(), #fireConfReceived

removeAllConfListeners

public void removeAllConfListeners()
Removes all listeners notified when conference event appears. This can be used before to free dependencies and allow dispose of all objects.

See Also:
addConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), #fireConfReceived

addConfConsumer

public void addConfConsumer(BSConfConsumer consumer)
Adds BSConfConsumer from consumers notified when conference event appears.

See Also:
removeConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeAllConfListeners(), #fireConfReceived

removeConfConsumer

public void removeConfConsumer(BSConfConsumer consumer)
Removes BSConfConsumer from consumers notified when conference event appears.

See Also:
addConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeAllConfListeners(), #fireConfReceived

removeAllConfConsumers

public void removeAllConfConsumers()
Removes all consumers notified when conference event appears. This can be used before to free dependencies and allow dispose of all objects.

See Also:
addConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), #fireConfReceived

fireGroupMessage

protected void fireGroupMessage(JID fromAddress,
                                java.lang.String nick,
                                java.lang.String body)
Notifies conference cunsumers and listeners that groupchat message arrived.

See Also:
addConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeAllConfListeners()

fireRoomMessage

protected void fireRoomMessage(JID roomJID,
                               java.lang.String body)
Notifies conference listeners that message from room arrived.

See Also:
addConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeAllConfListeners()

firePrivateMessage

protected void firePrivateMessage(JID fromAddress,
                                  java.lang.String nick,
                                  java.lang.String body)
Notifies conference listeners that private message arrived.

See Also:
addConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeAllConfListeners()

firePresenceChanged

protected void firePresenceChanged(JID fromAddress,
                                   java.lang.String nick,
                                   BSPresenceInfo pi)
Notifies conference listeners that presence of nick in room changed.

See Also:
addConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeAllConfListeners()

fireInvitation

protected void fireInvitation(JID fromAddress,
                              JID roomJID,
                              java.lang.String subject,
                              java.lang.String body)
Notifies conference listeners that invitation into room arrived.

See Also:
addConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeAllConfListeners()

fireError

protected void fireError(JID roomJID,
                         java.lang.String errCode,
                         java.lang.String errMsg)
Notifies conference listeners that error occured.

See Also:
addConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeAllConfListeners()

fireSetMyJID

protected void fireSetMyJID(JID roomJID,
                            JID myJID)
Notifies conference listeners about myJID in conference. This can be taken as successful room entering.

See Also:
addConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeConfListener(edu.ou.kmi.buddyspace.plugins.conference.core.BSConfListener), removeAllConfListeners()