edu.ou.kmi.buddyspace.core
Class BSRosterBean

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

public class BSRosterBean
extends java.lang.Object

BSRosterBean provides roster handling. It relies on BSInfoQueryBean, which must be set after each reconnection. It uses RosterBean.


Method Summary
 boolean addContact(JID jid, java.lang.String nick, java.lang.String group)
          Adds contact into the roster.
 void addRosterListener(RosterListener listener)
          Adds RosterListener from listeners notified when roster changes.
 boolean changeContact(JID jid, java.lang.String nick, java.lang.String group, java.lang.String oldGroup)
          Changes contact in roster.
 void changedRoster(Roster roster)
          The changedRoster event is fired when there has been a change to the roster state.
 void clear()
          Clears the current roster.
 void connectionChanged(ConnectionEvent ce)
          Invoked when connection changes.
 boolean deleteJIDFromGroup(JID jid, java.lang.String group)
          Deletes contact with JID from given group in the roster.
 java.util.Enumeration entries()
          Returns Enumeration of roster entries.
 java.lang.String getFriendlyName(JID jid)
          Returns friendly name of the JID according to appropriate RosterItem.
 java.util.Iterator getGroups()
          Returns Iterator over all groups in roster.
protected  IQBean getIQBean()
          Returns currently used IQBean.
 java.util.Enumeration getJIDsInGroup(java.lang.String groupName)
          Returns Enumeration over all JIDs in given group.
protected  RosterBean getRosterBean()
          Returns currently used RosterBean.
 java.lang.String getRosterItemHashString(JID jid, java.lang.String group, boolean useGroup)
          Returns string used as a key in roster hashtable.
 boolean isJIDInRoster(JID jid)
          Returns true if there is a contact in roster with given JID.
 boolean isSubscriptionToJID(JID jid)
          Returns true if there is subscription to presence of given JID.
protected  void prepareToDestroy()
          Frees all object bindings to allow object destroy
 void refreshRoster()
          Sends request to server for roster refresh.
 void removeAllRosterListeners()
          Removes all listeners notified when roster changes.
 void removeRosterListener(RosterListener listener)
          Removes RosterListener from listeners notified when roster changes.
 void replacedRoster(Roster roster)
          The replacedRoster event is fired when a completely new roster has replaced the existing one.
protected  void setIQBean(IQBean iqBean)
          Sets existing and connected IQBean.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

setIQBean

protected void setIQBean(IQBean iqBean)
Sets existing and connected IQBean. Then RosterBean is created and this is registered as listener for connection and roster event.


getIQBean

protected IQBean getIQBean()
Returns currently used IQBean.


getRosterBean

protected RosterBean getRosterBean()
Returns currently used RosterBean.


entries

public java.util.Enumeration entries()
Returns Enumeration of roster entries. The entries are of RosterItem type.


prepareToDestroy

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


refreshRoster

public void refreshRoster()
Sends request to server for roster refresh. After the refreshed roster comes replacedRoster is invoked.


clear

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


addContact

public boolean addContact(JID jid,
                          java.lang.String nick,
                          java.lang.String group)
Adds contact into the roster. Returns if the request was successfuly sent to server. But still the server can return error as a response.


changeContact

public boolean changeContact(JID jid,
                             java.lang.String nick,
                             java.lang.String group,
                             java.lang.String oldGroup)
Changes contact in roster. Returns if the request was successfuly sent to server. But still the server can return error as a response. When the group or oldGroup is null, it means that no group is used (the contact is not in any group).


deleteJIDFromGroup

public boolean deleteJIDFromGroup(JID jid,
                                  java.lang.String group)
Deletes contact with JID from given group in the roster. Returns if the request was successfuly sent to server. But still the server can return error as a response.


isJIDInRoster

public boolean isJIDInRoster(JID jid)
Returns true if there is a contact in roster with given JID.


isSubscriptionToJID

public boolean isSubscriptionToJID(JID jid)
Returns true if there is subscription to presence of given JID.


getGroups

public java.util.Iterator getGroups()
Returns Iterator over all groups in roster.


getJIDsInGroup

public java.util.Enumeration getJIDsInGroup(java.lang.String groupName)
Returns Enumeration over all JIDs in given group.


getRosterItemHashString

public java.lang.String getRosterItemHashString(JID jid,
                                                java.lang.String group,
                                                boolean useGroup)
Returns string used as a key in roster hashtable.


changedRoster

public void changedRoster(Roster roster)
The changedRoster event is fired when there has been a change to the roster state.


replacedRoster

public void replacedRoster(Roster roster)
The replacedRoster event is fired when a completely new roster has replaced the existing one.


getFriendlyName

public java.lang.String getFriendlyName(JID jid)
Returns friendly name of the JID according to appropriate RosterItem.


addRosterListener

public void addRosterListener(RosterListener listener)
Adds RosterListener from listeners notified when roster changes.

See Also:
removeRosterListener(RosterListener), removeAllRosterListeners(), #fireChangedRoster, #fireReplacedRoster

removeRosterListener

public void removeRosterListener(RosterListener listener)
Removes RosterListener from listeners notified when roster changes.

See Also:
addRosterListener(RosterListener), removeAllRosterListeners(), #fireChangedRoster, #fireReplacedRoster

removeAllRosterListeners

public void removeAllRosterListeners()
Removes all listeners notified when roster changes. This can be used before to free dependencies and allow dispose of all objects.

See Also:
addRosterListener(RosterListener), removeRosterListener(RosterListener), #fireChangedRoster, #fireReplacedRoster

connectionChanged

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