tigase.xmpp.impl
Class AnonymousRoster

java.lang.Object
  extended by tigase.xmpp.impl.AnonymousRoster
All Implemented Interfaces:
DynamicRosterIfc

public class AnonymousRoster
extends Object
implements DynamicRosterIfc

Describe class AnonymousRoster here. Created: Tue Apr 22 21:41:46 2008

Version:
$Rev$
Author:
Artur Hefczyc

Constructor Summary
AnonymousRoster()
           
 
Method Summary
 tigase.xmpp.JID[] getBuddies(XMPPResourceConnection session)
          getBuddies method returns String array with all roster buddies JIDs.
 tigase.xml.Element getBuddyItem(XMPPResourceConnection session, tigase.xmpp.JID buddy)
          getBuddyItem method returns buddy item element for a given JID or null if the buddy doesn't exist on the user roster list.
 tigase.xml.Element getItemExtraData(tigase.xml.Element item)
           
 List<tigase.xml.Element> getRosterItems(XMPPResourceConnection session)
          getRosterItems method returns a full list with all buddies generated by this dynamic roster implementation.
 void init(Map<String,Object> props)
          init method is used to provide configuration parameters and initialize the object.
 void init(String par)
          init method is called at the initialization time when simple form of startu parameters are used:
 void setItemExtraData(tigase.xml.Element item)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AnonymousRoster

public AnonymousRoster()
Method Detail

init

public void init(Map<String,Object> props)
Description copied from interface: DynamicRosterIfc
init method is used to provide configuration parameters and initialize the object. Please have a look at the interface descriotion for more details about configuration parameters. The object is never used before it's init(...) method is called but it might be used stright away after the method has finished.

Specified by:
init in interface DynamicRosterIfc
Parameters:
props - a Map props is a configuration parameters map in the form: key:value exactly as they were specified in the configuration file.

init

public void init(String par)
Description copied from interface: DynamicRosterIfc
init method is called at the initialization time when simple form of startu parameters are used:
sess-man/plugins-conf/roster-presence/class-name.init=configuration-string
The configuration-string is passed to this init(...) method in exact form as it was found in the configuration file.

Specified by:
init in interface DynamicRosterIfc
Parameters:
par - a String value of the configuration string.

getBuddies

public tigase.xmpp.JID[] getBuddies(XMPPResourceConnection session)
                             throws NotAuthorizedException
Description copied from interface: DynamicRosterIfc
getBuddies method returns String array with all roster buddies JIDs. Normally they are bare JIDs (without resource part). This method is normally used by presence plugin to send probe and initial presence to all contacts in the dynamic roster.

Specified by:
getBuddies in interface DynamicRosterIfc
Parameters:
session - a XMPPResourceConnection value of the connection session object.
Returns:
a String[] array of bare JIDs for the dynamic part of the user roster.
Throws:
NotAuthorizedException - may be thrown if the connection session is not yet authenticated but authorization is required to access roster data.

getBuddyItem

public tigase.xml.Element getBuddyItem(XMPPResourceConnection session,
                                       tigase.xmpp.JID buddy)
                                throws NotAuthorizedException
Description copied from interface: DynamicRosterIfc
getBuddyItem method returns buddy item element for a given JID or null if the buddy doesn't exist on the user roster list.

Specified by:
getBuddyItem in interface DynamicRosterIfc
Parameters:
session - a XMPPResourceConnection value of the connection session object.
buddy - a String value of the buddy JID. It may be bare JID or full JID.
Returns:
an Element value of the XML element with all the roster item data - JID, subscription, nick name and groups. Sample code for creating the buddy element could look like this:
Element item = new Element("item", new Element[] {
     new Element("group", "Tigase devs")},
  new String[] {"jid", "subscription", "name"},
  new String[] {peer, "both", JIDUtils.getNodeNick(peer)});
Throws:
NotAuthorizedException - may be thrown if the connection session is not yet authenticated but authorization is required to access roster data.

getRosterItems

public List<tigase.xml.Element> getRosterItems(XMPPResourceConnection session)
                                        throws NotAuthorizedException
Description copied from interface: DynamicRosterIfc
getRosterItems method returns a full list with all buddies generated by this dynamic roster implementation. The list contains all contacts for the roster with all contacts details - buddy jid, nick name, subscription (typically always both) and groups. Please have a look at getBuddyItem(...) description for details how to create an Element entry for the roster item.

In theory you could here call the getBuddies(...) method and then for each entry from the array call the getBuddyItem(...). I strongly advice to not do it. This is a server with thousands of connected users and possibly thousands of packets going through the server. Think of a performance and excute database query once if possible rather then many times.

Specified by:
getRosterItems in interface DynamicRosterIfc
Parameters:
session - a XMPPResourceConnection value of the connection session object.
Returns:
a List value
Throws:
NotAuthorizedException - may be thrown if the connection session is not yet authenticated but authorization is required to access roster data.

setItemExtraData

public void setItemExtraData(tigase.xml.Element item)
Specified by:
setItemExtraData in interface DynamicRosterIfc

getItemExtraData

public tigase.xml.Element getItemExtraData(tigase.xml.Element item)
Specified by:
getItemExtraData in interface DynamicRosterIfc


Copyright © 2001-2006 Tigase Developers Team. All rights Reserved.