Class Roster
- java.lang.Object
-
- org.jivesoftware.smack.Manager
-
- org.jivesoftware.smack.roster.Roster
-
public final class Roster extends Manager
Represents a user's roster, which is the collection of users a person receives presence updates for. Roster items are categorized into groups for easier management. Other users may attempt to subscribe to this user using a subscription request. Three modes are supported for handling these requests:accept_all
-- accept all subscription requests.reject_all
-- reject all subscription requests.manual
-- manually process all subscription requests.
- See Also:
getInstanceFor(XMPPConnection)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Roster.SubscriptionMode
An enumeration for the subscription mode options.
-
Field Summary
Fields Modifier and Type Field Description static int
INITIAL_DEFAULT_NON_ROSTER_PRESENCE_MAP_SIZE
The initial maximum size of the map holding presence information of entities without an Roster entry.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
addPresenceEventListener(PresenceEventListener presenceEventListener)
Add aPresenceEventListener
.boolean
addRosterListener(RosterListener rosterListener)
Adds a listener to this roster.boolean
addRosterLoadedListener(RosterLoadedListener rosterLoadedListener)
Add a roster loaded listener.boolean
addSubscribeListener(SubscribeListener subscribeListener)
Add a subscribe listener, which is invoked on incoming subscription requests and ifRoster.SubscriptionMode
is set toRoster.SubscriptionMode.manual
.boolean
contains(BareJid jid)
Returns true if the specified XMPP address is an entry in the roster.void
createEntry(BareJid user, java.lang.String name, java.lang.String[] groups)
Deprecated.RosterGroup
createGroup(java.lang.String name)
Creates a new group.void
createItem(BareJid jid, java.lang.String name, java.lang.String[] groups)
Creates a new roster item.void
createItemAndRequestSubscription(BareJid jid, java.lang.String name, java.lang.String[] groups)
Creates a new roster entry and presence subscription.java.util.List<Presence>
getAllPresences(BareJid bareJid)
Returns a List of Presence objects for all of a user's current presences if no presence information is available, such as when you are not subscribed to the user's presence updates.java.util.List<Presence>
getAvailablePresences(BareJid bareJid)
Returns a List of all available Presence Objects for the given bare JID.static Roster.SubscriptionMode
getDefaultSubscriptionMode()
Returns the default subscription processing mode to use when a new Roster is created.java.util.Set<RosterEntry>
getEntries()
Returns a set of all entries in the roster, including entries that don't belong to any groups.void
getEntriesAndAddListener(RosterListener rosterListener, RosterEntries rosterEntries)
Add a roster listener and invoke the roster entries with all entries of the roster.RosterEntry
getEntry(BareJid jid)
Returns the roster entry associated with the given XMPP address ornull
if the user is not an entry in the roster.int
getEntryCount()
Returns a count of the entries in the roster.RosterGroup
getGroup(java.lang.String name)
Returns the roster group with the specified name, ornull
if the group doesn't exist.int
getGroupCount()
Returns the number of the groups in the roster.java.util.Collection<RosterGroup>
getGroups()
Returns an unmodifiable collections of all the roster groups.static Roster
getInstanceFor(XMPPConnection connection)
Returns the roster for the user.Presence
getPresence(BareJid jid)
Returns the presence info for a particular user.Presence
getPresenceResource(FullJid userWithResource)
Returns the presence info for a particular user's resource, or unavailable presence if the user is offline or if no presence information is available, such as when you are not subscribed to the user's presence updates.java.util.List<Presence>
getPresences(BareJid jid)
Returns a List of Presence objects for all of a user's current presences or an unavailable presence if the user is unavailable (offline) or if no presence information is available, such as when you are not subscribed to the user's presence updates.Roster.SubscriptionMode
getSubscriptionMode()
Returns the subscription processing mode, which dictates what action Smack will take when subscription requests from other users are made.java.util.Set<RosterEntry>
getUnfiledEntries()
Returns an unmodifiable set for the unfiled roster entries.int
getUnfiledEntryCount()
Returns a count of the unfiled entries in the roster.boolean
iAmSubscribedTo(Jid jid)
Check if the XMPP entity this roster belongs to is subscribed to the presence of the given JID.boolean
isLoaded()
Check if the roster is loaded.boolean
isRosterLoadedAtLogin()
Returns true if the roster will be loaded from the server when logging in.boolean
isRosterVersioningSupported()
Check if the server supports roster versioning.boolean
isSubscribedToMyPresence(Jid jid)
Check if the given JID is subscribed to the user's presence.boolean
isSubscriptionPreApprovalSupported()
Check for subscription pre-approval support.void
preApprove(BareJid user)
Pre-approve user presence subscription.void
preApproveAndCreateEntry(BareJid user, java.lang.String name, java.lang.String[] groups)
Creates a new pre-approved roster entry and presence subscription.void
reload()
Reloads the entire roster from the server.void
reloadAndWait()
Reload the roster and block until it is reloaded.void
removeEntry(RosterEntry entry)
Removes a roster entry from the roster.boolean
removePresenceEventListener(PresenceEventListener presenceEventListener)
boolean
removeRosterListener(RosterListener rosterListener)
Removes a listener from this roster.boolean
removeRosterLoadedListener(RosterLoadedListener rosterLoadedListener)
Remove a roster loaded listener.boolean
removeSubscribeListener(SubscribeListener subscribeListener)
Remove a subscribe listener.void
sendSubscriptionRequest(BareJid jid)
static void
setDefaultNonRosterPresenceMapMaxSize(int maximumSize)
Set the default maximum size of the non-Roster presence map.static void
setDefaultSubscriptionMode(Roster.SubscriptionMode subscriptionMode)
Sets the default subscription processing mode to use when a new Roster is created.void
setNonRosterPresenceMapMaxSize(int maximumSize)
Set the maximum size of the non-Roster presence map.void
setRosterLoadedAtLogin(boolean rosterLoadedAtLogin)
Sets if the roster will be loaded from the server when logging in.static void
setRosterLoadedAtLoginDefault(boolean rosterLoadedAtLoginDefault)
Sets if the roster will be loaded from the server when logging in for newly created instances ofRoster
.boolean
setRosterStore(RosterStore rosterStore)
Set the roster store, may cause a roster reload.void
setSubscriptionMode(Roster.SubscriptionMode subscriptionMode)
Sets the subscription processing mode, which dictates what action Smack will take when subscription requests from other users are made.protected boolean
waitUntilLoaded()
-
Methods inherited from class org.jivesoftware.smack.Manager
connection, getAuthenticatedConnectionOrThrow, schedule, schedule, scheduleBlocking
-
-
-
-
Field Detail
-
INITIAL_DEFAULT_NON_ROSTER_PRESENCE_MAP_SIZE
public static final int INITIAL_DEFAULT_NON_ROSTER_PRESENCE_MAP_SIZE
The initial maximum size of the map holding presence information of entities without an Roster entry. Currently 1024.- See Also:
- Constant Field Values
-
-
Method Detail
-
getInstanceFor
public static Roster getInstanceFor(XMPPConnection connection)
Returns the roster for the user.This method will never return
null
, instead if the user has not yet logged into the server all modifying methods of the returned roster object likecreateEntry(BareJid, String, String[])
,removeEntry(RosterEntry)
, etc. except adding or removingRosterListener
s will throw an IllegalStateException.- Parameters:
connection
- the connection the roster should be retrieved for.- Returns:
- the user's roster.
-
getDefaultSubscriptionMode
public static Roster.SubscriptionMode getDefaultSubscriptionMode()
Returns the default subscription processing mode to use when a new Roster is created. The subscription processing mode dictates what action Smack will take when subscription requests from other users are made. The default subscription mode isRoster.SubscriptionMode.reject_all
.- Returns:
- the default subscription mode to use for new Rosters
-
setDefaultSubscriptionMode
public static void setDefaultSubscriptionMode(Roster.SubscriptionMode subscriptionMode)
Sets the default subscription processing mode to use when a new Roster is created. The subscription processing mode dictates what action Smack will take when subscription requests from other users are made. The default subscription mode isRoster.SubscriptionMode.reject_all
.- Parameters:
subscriptionMode
- the default subscription mode to use for new Rosters.
-
getSubscriptionMode
public Roster.SubscriptionMode getSubscriptionMode()
Returns the subscription processing mode, which dictates what action Smack will take when subscription requests from other users are made. The default subscription mode isRoster.SubscriptionMode.reject_all
.If using the manual mode, a PacketListener should be registered that listens for Presence packets that have a type of
Presence.Type.subscribe
.- Returns:
- the subscription mode.
-
setSubscriptionMode
public void setSubscriptionMode(Roster.SubscriptionMode subscriptionMode)
Sets the subscription processing mode, which dictates what action Smack will take when subscription requests from other users are made. The default subscription mode isRoster.SubscriptionMode.reject_all
.If using the manual mode, a PacketListener should be registered that listens for Presence packets that have a type of
Presence.Type.subscribe
.- Parameters:
subscriptionMode
- the subscription mode.
-
reload
public void reload() throws SmackException.NotLoggedInException, SmackException.NotConnectedException, java.lang.InterruptedException
Reloads the entire roster from the server. This is an asynchronous operation, which means the method will return immediately, and the roster will be reloaded at a later point when the server responds to the reload request.- Throws:
SmackException.NotLoggedInException
- If not logged in.SmackException.NotConnectedException
- if the XMPP connection is not connected.java.lang.InterruptedException
- if the calling thread was interrupted.
-
reloadAndWait
public void reloadAndWait() throws SmackException.NotLoggedInException, SmackException.NotConnectedException, java.lang.InterruptedException
Reload the roster and block until it is reloaded.- Throws:
SmackException.NotLoggedInException
- if the XMPP connection is not authenticated.SmackException.NotConnectedException
- if the XMPP connection is not connected.java.lang.InterruptedException
- if the calling thread was interrupted.- Since:
- 4.1
-
setRosterStore
public boolean setRosterStore(RosterStore rosterStore)
Set the roster store, may cause a roster reload.- Parameters:
rosterStore
- TODO javadoc me please- Returns:
- true if the roster reload was initiated, false otherwise.
- Since:
- 4.1
-
waitUntilLoaded
protected boolean waitUntilLoaded() throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
isLoaded
public boolean isLoaded()
Check if the roster is loaded.- Returns:
- true if the roster is loaded.
- Since:
- 4.1
-
addRosterListener
public boolean addRosterListener(RosterListener rosterListener)
Adds a listener to this roster. The listener will be fired anytime one or more changes to the roster are pushed from the server.- Parameters:
rosterListener
- a roster listener.- Returns:
- true if the listener was not already added.
- See Also:
getEntriesAndAddListener(RosterListener, RosterEntries)
-
removeRosterListener
public boolean removeRosterListener(RosterListener rosterListener)
Removes a listener from this roster. The listener will be fired anytime one or more changes to the roster are pushed from the server.- Parameters:
rosterListener
- a roster listener.- Returns:
- true if the listener was active and got removed.
-
addRosterLoadedListener
public boolean addRosterLoadedListener(RosterLoadedListener rosterLoadedListener)
Add a roster loaded listener. Roster loaded listeners are invoked once theRoster
was successfully loaded.- Parameters:
rosterLoadedListener
- the listener to add.- Returns:
- true if the listener was not already added.
- Since:
- 4.1
- See Also:
RosterLoadedListener
-
removeRosterLoadedListener
public boolean removeRosterLoadedListener(RosterLoadedListener rosterLoadedListener)
Remove a roster loaded listener.- Parameters:
rosterLoadedListener
- the listener to remove.- Returns:
- true if the listener was active and got removed.
- Since:
- 4.1
- See Also:
RosterLoadedListener
-
addPresenceEventListener
public boolean addPresenceEventListener(PresenceEventListener presenceEventListener)
Add aPresenceEventListener
. Such a listener will be fired whenever certain presence events happen.Among those events are:
- 'available' presence received
- 'unavailable' presence received
- 'error' presence received
- 'subscribed' presence received
- 'unsubscribed' presence received
- Parameters:
presenceEventListener
- listener to add.- Returns:
- true if the listener was not already added.
-
removePresenceEventListener
public boolean removePresenceEventListener(PresenceEventListener presenceEventListener)
-
createGroup
public RosterGroup createGroup(java.lang.String name)
Creates a new group.Note: you must add at least one entry to the group for the group to be kept after a logout/login. This is due to the way that XMPP stores group information.
- Parameters:
name
- the name of the group.- Returns:
- a new group, or null if the group already exists
-
createEntry
@Deprecated public void createEntry(BareJid user, java.lang.String name, java.lang.String[] groups) throws SmackException.NotLoggedInException, SmackException.NoResponseException, XMPPException.XMPPErrorException, SmackException.NotConnectedException, java.lang.InterruptedException
Deprecated.Creates a new roster entry and presence subscription. The server will asynchronously update the roster with the subscription status.- Parameters:
user
- the user. (e.g. johndoe@jabber.org)name
- the nickname of the user.groups
- the list of group names the entry will belong to, ornull
if the the roster entry won't belong to a group.- Throws:
SmackException.NoResponseException
- if there was no response from the server.XMPPException.XMPPErrorException
- if an XMPP exception occurs.SmackException.NotLoggedInException
- If not logged in.SmackException.NotConnectedException
- if the XMPP connection is not connected.java.lang.InterruptedException
- if the calling thread was interrupted.
-
createItem
public void createItem(BareJid jid, java.lang.String name, java.lang.String[] groups) throws SmackException.NotLoggedInException, SmackException.NoResponseException, XMPPException.XMPPErrorException, SmackException.NotConnectedException, java.lang.InterruptedException
Creates a new roster item. The server will asynchronously update the roster with the subscription status.There will be no presence subscription request. Consider using
createItemAndRequestSubscription(BareJid, String, String[])
if you also want to request a presence subscription from the contact.- Parameters:
jid
- the XMPP address of the contact (e.g. johndoe@jabber.org)name
- the nickname of the user.groups
- the list of group names the entry will belong to, ornull
if the the roster entry won't belong to a group.- Throws:
SmackException.NoResponseException
- if there was no response from the server.XMPPException.XMPPErrorException
- if an XMPP exception occurs.SmackException.NotLoggedInException
- If not logged in.SmackException.NotConnectedException
- if the XMPP connection is not connected.java.lang.InterruptedException
- if the calling thread was interrupted.- Since:
- 4.4.0
-
createItemAndRequestSubscription
public void createItemAndRequestSubscription(BareJid jid, java.lang.String name, java.lang.String[] groups) throws SmackException.NotLoggedInException, SmackException.NoResponseException, XMPPException.XMPPErrorException, SmackException.NotConnectedException, java.lang.InterruptedException
Creates a new roster entry and presence subscription. The server will asynchronously update the roster with the subscription status.- Parameters:
jid
- the XMPP address of the contact (e.g. johndoe@jabber.org)name
- the nickname of the user.groups
- the list of group names the entry will belong to, ornull
if the the roster entry won't belong to a group.- Throws:
SmackException.NoResponseException
- if there was no response from the server.XMPPException.XMPPErrorException
- if an XMPP exception occurs.SmackException.NotLoggedInException
- If not logged in.SmackException.NotConnectedException
- if the XMPP connection is not connected.java.lang.InterruptedException
- if the calling thread was interrupted.- Since:
- 4.4.0
-
preApproveAndCreateEntry
public void preApproveAndCreateEntry(BareJid user, java.lang.String name, java.lang.String[] groups) throws SmackException.NotLoggedInException, SmackException.NoResponseException, XMPPException.XMPPErrorException, SmackException.NotConnectedException, java.lang.InterruptedException, SmackException.FeatureNotSupportedException
Creates a new pre-approved roster entry and presence subscription. The server will asynchronously update the roster with the subscription status.- Parameters:
user
- the user. (e.g. johndoe@jabber.org)name
- the nickname of the user.groups
- the list of group names the entry will belong to, ornull
if the the roster entry won't belong to a group.- Throws:
SmackException.NoResponseException
- if there was no response from the server.XMPPException.XMPPErrorException
- if an XMPP exception occurs.SmackException.NotLoggedInException
- if not logged in.SmackException.NotConnectedException
- if the XMPP connection is not connected.java.lang.InterruptedException
- if the calling thread was interrupted.SmackException.FeatureNotSupportedException
- if pre-approving is not supported.- Since:
- 4.2
-
preApprove
public void preApprove(BareJid user) throws SmackException.NotLoggedInException, SmackException.NotConnectedException, java.lang.InterruptedException, SmackException.FeatureNotSupportedException
Pre-approve user presence subscription.- Parameters:
user
- the user. (e.g. johndoe@jabber.org)- Throws:
SmackException.NotLoggedInException
- if not logged in.SmackException.NotConnectedException
- if the XMPP connection is not connected.java.lang.InterruptedException
- if the calling thread was interrupted.SmackException.FeatureNotSupportedException
- if pre-approving is not supported.- Since:
- 4.2
-
isSubscriptionPreApprovalSupported
public boolean isSubscriptionPreApprovalSupported() throws SmackException.NotLoggedInException
Check for subscription pre-approval support.- Returns:
- true if subscription pre-approval is supported by the server.
- Throws:
SmackException.NotLoggedInException
- if not logged in.- Since:
- 4.2
-
sendSubscriptionRequest
public void sendSubscriptionRequest(BareJid jid) throws SmackException.NotLoggedInException, SmackException.NotConnectedException, java.lang.InterruptedException
- Throws:
SmackException.NotLoggedInException
SmackException.NotConnectedException
java.lang.InterruptedException
-
addSubscribeListener
public boolean addSubscribeListener(SubscribeListener subscribeListener)
Add a subscribe listener, which is invoked on incoming subscription requests and ifRoster.SubscriptionMode
is set toRoster.SubscriptionMode.manual
. This also sets subscription mode toRoster.SubscriptionMode.manual
.- Parameters:
subscribeListener
- the subscribe listener to add.- Returns:
true
if the listener was not already added.- Since:
- 4.2
-
removeSubscribeListener
public boolean removeSubscribeListener(SubscribeListener subscribeListener)
Remove a subscribe listener. Also restores the previous subscription mode state, if the last listener got removed.- Parameters:
subscribeListener
- TODO javadoc me please the subscribe listener to remove.- Returns:
true
if the listener registered and got removed.- Since:
- 4.2
-
removeEntry
public void removeEntry(RosterEntry entry) throws SmackException.NotLoggedInException, SmackException.NoResponseException, XMPPException.XMPPErrorException, SmackException.NotConnectedException, java.lang.InterruptedException
Removes a roster entry from the roster. The roster entry will also be removed from the unfiled entries or from any roster group where it could belong and will no longer be part of the roster. Note that this is a synchronous call -- Smack must wait for the server to send an updated subscription status.- Parameters:
entry
- a roster entry.- Throws:
XMPPException.XMPPErrorException
- if an XMPP error occurs.SmackException.NotLoggedInException
- if not logged in.SmackException.NoResponseException
- SmackException if there was no response from the server.SmackException.NotConnectedException
- if the XMPP connection is not connected.java.lang.InterruptedException
- if the calling thread was interrupted.
-
getEntryCount
public int getEntryCount()
Returns a count of the entries in the roster.- Returns:
- the number of entries in the roster.
-
getEntriesAndAddListener
public void getEntriesAndAddListener(RosterListener rosterListener, RosterEntries rosterEntries)
Add a roster listener and invoke the roster entries with all entries of the roster.The method guarantees that the listener is only invoked after
RosterEntries.rosterEntries(Collection)
has been invoked, and that all roster events that happen whilerosterEntries(Collection)
is called are queued until the method returns.This guarantee makes this the ideal method to e.g. populate a UI element with the roster while installing a
RosterListener
to listen for subsequent roster events.- Parameters:
rosterListener
- the listener to installrosterEntries
- the roster entries callback interface- Since:
- 4.1
-
getEntries
public java.util.Set<RosterEntry> getEntries()
Returns a set of all entries in the roster, including entries that don't belong to any groups.- Returns:
- all entries in the roster.
-
getUnfiledEntryCount
public int getUnfiledEntryCount()
Returns a count of the unfiled entries in the roster. An unfiled entry is an entry that doesn't belong to any groups.- Returns:
- the number of unfiled entries in the roster.
-
getUnfiledEntries
public java.util.Set<RosterEntry> getUnfiledEntries()
Returns an unmodifiable set for the unfiled roster entries. An unfiled entry is an entry that doesn't belong to any groups.- Returns:
- the unfiled roster entries.
-
getEntry
public RosterEntry getEntry(BareJid jid)
Returns the roster entry associated with the given XMPP address ornull
if the user is not an entry in the roster.- Parameters:
jid
- the XMPP address of the user (eg "jsmith@example.com"). The address could be in any valid format (e.g. "domain/resource", "user@domain" or "user@domain/resource").- Returns:
- the roster entry or
null
if it does not exist.
-
contains
public boolean contains(BareJid jid)
Returns true if the specified XMPP address is an entry in the roster.- Parameters:
jid
- the XMPP address of the user (eg "jsmith@example.com"). The address must be a bare JID e.g. "domain/resource" or "user@domain".- Returns:
- true if the XMPP address is an entry in the roster.
-
getGroup
public RosterGroup getGroup(java.lang.String name)
Returns the roster group with the specified name, ornull
if the group doesn't exist.- Parameters:
name
- the name of the group.- Returns:
- the roster group with the specified name.
-
getGroupCount
public int getGroupCount()
Returns the number of the groups in the roster.- Returns:
- the number of groups in the roster.
-
getGroups
public java.util.Collection<RosterGroup> getGroups()
Returns an unmodifiable collections of all the roster groups.- Returns:
- an iterator for all roster groups.
-
getPresence
public Presence getPresence(BareJid jid)
Returns the presence info for a particular user. If the user is offline, or if no presence data is available (such as when you are not subscribed to the user's presence updates), unavailable presence will be returned. If the user has several presences (one for each resource), then the presence with highest priority will be returned. If multiple presences have the same priority, the one with the "most available" presence mode will be returned. In order, that'sfree to chat
,available
,away
,extended away
, anddo not disturb
.Note that presence information is received asynchronously. So, just after logging in to the server, presence values for users in the roster may be unavailable even if they are actually online. In other words, the value returned by this method should only be treated as a snapshot in time, and may not accurately reflect other user's presence instant by instant. If you need to track presence over time, such as when showing a visual representation of the roster, consider using a
RosterListener
.- Parameters:
jid
- the XMPP address of the user (eg "jsmith@example.com"). The address must be a bare JID e.g. "domain/resource" or "user@domain".- Returns:
- the user's current presence, or unavailable presence if the user is offline or if no presence information is available..
-
getPresenceResource
public Presence getPresenceResource(FullJid userWithResource)
Returns the presence info for a particular user's resource, or unavailable presence if the user is offline or if no presence information is available, such as when you are not subscribed to the user's presence updates.- Parameters:
userWithResource
- a fully qualified XMPP ID including a resource (user@domain/resource).- Returns:
- the user's current presence, or unavailable presence if the user is offline or if no presence information is available.
-
getAllPresences
public java.util.List<Presence> getAllPresences(BareJid bareJid)
Returns a List of Presence objects for all of a user's current presences if no presence information is available, such as when you are not subscribed to the user's presence updates.- Parameters:
bareJid
- an XMPP ID, e.g. jdoe@example.com.- Returns:
- a List of Presence objects for all the user's current presences, or an unavailable presence if no presence information is available.
-
getAvailablePresences
public java.util.List<Presence> getAvailablePresences(BareJid bareJid)
Returns a List of all available Presence Objects for the given bare JID. If there are no available presences, then the empty list will be returned.- Parameters:
bareJid
- the bare JID from which the presences should be retrieved.- Returns:
- available presences for the bare JID.
-
getPresences
public java.util.List<Presence> getPresences(BareJid jid)
Returns a List of Presence objects for all of a user's current presences or an unavailable presence if the user is unavailable (offline) or if no presence information is available, such as when you are not subscribed to the user's presence updates.- Parameters:
jid
- an XMPP ID, e.g. jdoe@example.com.- Returns:
- a List of Presence objects for all the user's current presences, or an unavailable presence if the user is offline or if no presence information is available.
-
isSubscribedToMyPresence
public boolean isSubscribedToMyPresence(Jid jid)
Check if the given JID is subscribed to the user's presence.If the JID is subscribed to the user's presence then it is allowed to see the presence and will get notified about presence changes. Also returns true, if the JID is the service name of the XMPP connection (the "XMPP domain"), i.e. the XMPP service is treated like having an implicit subscription to the users presence.
Note that if the roster is not loaded, then this method will always return false.- Parameters:
jid
- TODO javadoc me please- Returns:
- true if the given JID is allowed to see the users presence.
- Since:
- 4.1
-
iAmSubscribedTo
public boolean iAmSubscribedTo(Jid jid)
Check if the XMPP entity this roster belongs to is subscribed to the presence of the given JID.- Parameters:
jid
- the jid to check.- Returns:
true
if we are subscribed to the presence of the given jid.- Since:
- 4.2
-
setRosterLoadedAtLoginDefault
public static void setRosterLoadedAtLoginDefault(boolean rosterLoadedAtLoginDefault)
Sets if the roster will be loaded from the server when logging in for newly created instances ofRoster
.- Parameters:
rosterLoadedAtLoginDefault
- if the roster will be loaded from the server when logging in.- Since:
- 4.1.7
- See Also:
setRosterLoadedAtLogin(boolean)
-
setRosterLoadedAtLogin
public void setRosterLoadedAtLogin(boolean rosterLoadedAtLogin)
Sets if the roster will be loaded from the server when logging in. This is the common behaviour for clients but sometimes clients may want to differ this or just never do it if not interested in rosters.- Parameters:
rosterLoadedAtLogin
- if the roster will be loaded from the server when logging in.
-
isRosterLoadedAtLogin
public boolean isRosterLoadedAtLogin()
Returns true if the roster will be loaded from the server when logging in. This is the common behavior for clients but sometimes clients may want to differ this or just never do it if not interested in rosters.- Returns:
- true if the roster will be loaded from the server when logging in.
- See Also:
- RFC 6121 2.2 - Retrieving the Roster on Login
-
isRosterVersioningSupported
public boolean isRosterVersioningSupported()
Check if the server supports roster versioning.- Returns:
- true if the server supports roster versioning, false otherwise.
-
setDefaultNonRosterPresenceMapMaxSize
public static void setDefaultNonRosterPresenceMapMaxSize(int maximumSize)
Set the default maximum size of the non-Roster presence map.The roster will only store this many presence entries for entities non in the Roster. The default is 1024.
- Parameters:
maximumSize
- the maximum size- Since:
- 4.2
-
setNonRosterPresenceMapMaxSize
public void setNonRosterPresenceMapMaxSize(int maximumSize)
Set the maximum size of the non-Roster presence map.- Parameters:
maximumSize
- TODO javadoc me please- Since:
- 4.2
- See Also:
setDefaultNonRosterPresenceMapMaxSize(int)
-
-