edu.ou.kmi.buddyspace.core
Class BSPresenceBean

java.lang.Object
  |
  +--edu.ou.kmi.buddyspace.core.BSPresenceBean

public class BSPresenceBean
extends java.lang.Object

BSPresenceBean provides presence handling. It relies on BSConnectionBean, which must be set after each reconnection.


Field Summary
protected  boolean connected
           
protected  ConnectionBean connection
           
protected  java.util.Hashtable curPresences
           
protected  BSIndividualPresences individualPresences
           
protected  JID myJID
           
protected  java.lang.String name
           
protected  java.util.Vector presenceListeners
           
 
Method Summary
 void addPresenceListener(BSPresenceListener listener)
          Adds BSPresenceListener to listeners notified when presence state of some of buddies changes.
 void clear()
          Clears the current presences.
 void connectionChanged(ConnectionEvent ce)
          Invoked when connection changes.
 java.util.Enumeration entries()
          Returns Enumeration of current presences.
 java.util.Enumeration getAllPresences(JID jid)
          Returns Enumeration of BSPresenceInfos for all resources of specified JID.
protected  ConnectionBean getConnection()
          Returns currently used ConnectionBean.
 BSIndividualPresences getIndividualPresences()
          Returns the used individual presences
static java.lang.String getJIDHashString(JID jid, boolean useResource)
          Deprecated. use JID.hashCode() instead
protected  BSPresencesOfJID getJIDPresences(JID jid)
          Returns BSPresencesOfJID for given JID.
static JID getJidWithoutRes(JID jid)
          Deprecated. use JID.getSimpleJID() instead
 BSPresenceInfo getMyPresence()
          Returns current presence of this resource.
 java.util.Enumeration getMyResourcesPresences()
          Returns Enumeration of BSPresenceInfos for all my resources except this one.
 BSPresenceInfo getPresence(JID jid)
          Returns BSPresenceInfo for specified JID without resource.
 BSPresenceInfo getResourcePresence(JID jid)
          Returns BSPresenceInfo for specified JID with resource.
 boolean isConnected()
          Returns if connected.
protected  void prepareToDestroy()
          Frees all object bindings to allow object destroy
 void receivedPacket(PacketEvent pe)
          Invoked when a packet arrives.
 void removeAllPresenceListeners()
          Removes all listeners notified when presence state of some of buddies changes.
 void removePresenceListener(BSPresenceListener listener)
          Removes BSPresenceListener to listeners notified when presence state of some of buddies changes.
 void sendFailed(PacketEvent pe)
          Invoked when a packet send failes.
 void sendIndividualPresences(java.util.Enumeration individualPresences)
          Sends individual presences according to the Enumeration
 void sendPresence(BSPresenceInfo pi, JID toAddress)
          Sends given presence to given JID
 void sendSubscriptionApproved(JID jid)
          Sends subscription confirmation to given JID.
 void sendSubscriptionRequest(JID jid)
          Sends subscription request to given JID.
 void sentPacket(PacketEvent pe)
          Invoked when a packet is sent.
protected  void setConnection(ConnectionBean connection)
          Sets existing and connected ConnectionBean.
 void setMyJID(JID jid)
          Sets current JID.
 void setMyPresence(boolean available, java.lang.String show, java.lang.String status, int priority)
          Sets current presence and sends it to server.
 void setPresence(JID jid, boolean available, java.lang.String show, java.lang.String status, int priority)
          Sets jid's current presence inside this bean.
protected  void storePresence(BSPresenceInfo pi)
          Stores given presence info.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

curPresences

protected java.util.Hashtable curPresences

connection

protected ConnectionBean connection

name

protected final java.lang.String name
See Also:
Constant Field Values

presenceListeners

protected java.util.Vector presenceListeners

myJID

protected JID myJID

connected

protected boolean connected

individualPresences

protected BSIndividualPresences individualPresences
Method Detail

setConnection

protected void setConnection(ConnectionBean connection)
Sets existing and connected ConnectionBean. Then this is registered as listener for packet and connection events.


getConnection

protected ConnectionBean getConnection()
Returns currently used ConnectionBean.


isConnected

public boolean isConnected()
Returns if connected.


entries

public java.util.Enumeration entries()
Returns Enumeration of current presences. Items are of BSPresenceInfo type. If the JID is not contained in this, it is not available.


storePresence

protected void storePresence(BSPresenceInfo pi)
Stores given presence info. This method should be used for access to presence storage.


setMyJID

public void setMyJID(JID jid)
Sets current JID.


setMyPresence

public void setMyPresence(boolean available,
                          java.lang.String show,
                          java.lang.String status,
                          int priority)
Sets current presence and sends it to server.


getMyPresence

public BSPresenceInfo getMyPresence()
Returns current presence of this resource.


setPresence

public void setPresence(JID jid,
                        boolean available,
                        java.lang.String show,
                        java.lang.String status,
                        int priority)
Sets jid's current presence inside this bean. This doesn't send anything to server, just sets internal value (for internal hacks like conferencing,...)


sendPresence

public void sendPresence(BSPresenceInfo pi,
                         JID toAddress)
Sends given presence to given JID


sendSubscriptionRequest

public void sendSubscriptionRequest(JID jid)
Sends subscription request to given JID.


sendSubscriptionApproved

public void sendSubscriptionApproved(JID jid)
Sends subscription confirmation to given JID.


sendIndividualPresences

public void sendIndividualPresences(java.util.Enumeration individualPresences)
Sends individual presences according to the Enumeration


getIndividualPresences

public BSIndividualPresences getIndividualPresences()
Returns the used individual presences


getJIDPresences

protected BSPresencesOfJID getJIDPresences(JID jid)
Returns BSPresencesOfJID for given JID.


getPresence

public BSPresenceInfo getPresence(JID jid)
Returns BSPresenceInfo for specified JID without resource. The "best" presence of all resources is returned.


getResourcePresence

public BSPresenceInfo getResourcePresence(JID jid)
Returns BSPresenceInfo for specified JID with resource. If resource is empty returns the best presence for JID withour resource.


getAllPresences

public java.util.Enumeration getAllPresences(JID jid)
Returns Enumeration of BSPresenceInfos for all resources of specified JID.


getMyResourcesPresences

public java.util.Enumeration getMyResourcesPresences()
Returns Enumeration of BSPresenceInfos for all my resources except this one.


clear

public void clear()
Clears the current presences. This function is typically called after disconnecting.


prepareToDestroy

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


getJIDHashString

public static java.lang.String getJIDHashString(JID jid,
                                                boolean useResource)
Deprecated. use JID.hashCode() instead

Returns string used as a key in roster hashtable.


getJidWithoutRes

public static JID getJidWithoutRes(JID jid)
Deprecated. use JID.getSimpleJID() instead

Returns JID without resource.


receivedPacket

public void receivedPacket(PacketEvent pe)
Invoked when a packet arrives.


sendFailed

public void sendFailed(PacketEvent pe)
Invoked when a packet send failes.


sentPacket

public void sentPacket(PacketEvent pe)
Invoked when a packet is sent.


connectionChanged

public void connectionChanged(ConnectionEvent ce)
Invoked when connection changes. If disconnected, clears the presences and fires their change.


addPresenceListener

public void addPresenceListener(BSPresenceListener listener)
Adds BSPresenceListener to listeners notified when presence state of some of buddies changes.

See Also:
removePresenceListener(edu.ou.kmi.buddyspace.core.BSPresenceListener), removeAllPresenceListeners(), #firePresenceChanged, #fireSubscriptionRequested, #fireSubscriptionApproved

removePresenceListener

public void removePresenceListener(BSPresenceListener listener)
Removes BSPresenceListener to listeners notified when presence state of some of buddies changes.

See Also:
addPresenceListener(edu.ou.kmi.buddyspace.core.BSPresenceListener), removeAllPresenceListeners(), #firePresenceChanged, #fireSubscriptionRequested, #fireSubscriptionApproved

removeAllPresenceListeners

public void removeAllPresenceListeners()
Removes all listeners notified when presence state of some of buddies changes. This can be used before to free dependencies and allow dispose of all objects.

See Also:
addPresenceListener(edu.ou.kmi.buddyspace.core.BSPresenceListener), removePresenceListener(edu.ou.kmi.buddyspace.core.BSPresenceListener), #firePresenceChanged, #fireSubscriptionRequested, #fireSubscriptionApproved