/* * Copyright 2006-2010 Daniel Henninger. All rights reserved. * * This software is published under the terms of the GNU Public License (GPL), * a copy of which is included in this distribution. */ package net.sf.kraken.protocols.xmpp; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import net.sf.kraken.roster.TransportBuddy; import net.sf.kraken.roster.TransportBuddyManager; import org.jivesoftware.smack.RosterEntry; import org.jivesoftware.smack.RosterGroup; /** * Apart from the functionality provided by {@link TransportBuddy}, XMPPBuddy * instances keep track of which resources a legacy user is using. * * @author Daniel Henninger */ public class XMPPBuddy extends TransportBuddy { public final RosterEntry rosterEntry; public XMPPBuddy(TransportBuddyManager<XMPPBuddy> manager, String username) { this(manager, username, null, Collections.EMPTY_SET, null); } public XMPPBuddy(TransportBuddyManager<XMPPBuddy> manager, String username, String nickname, Collection<RosterGroup> groups, RosterEntry entry) { super(manager, username, nickname, null); ArrayList<String> groupList = new ArrayList<String>(); for (RosterGroup group : groups) { groupList.add(group.getName()); } this.setGroups(groupList); this.rosterEntry = entry; } }