Class ClientEntityCapabilitiesManager
- java.lang.Object
-
- rocks.xmpp.extensions.caps.client.ClientEntityCapabilitiesManager
-
- All Implemented Interfaces:
EntityCapabilitiesManager
public final class ClientEntityCapabilitiesManager extends Object implements EntityCapabilitiesManager
Caches entity capabilities.This class is shared by both Entity Caps implementations,
ClientEntityCapabilities1Protocol
andClientEntityCapabilities2Protocol
and provides a single (global) cache to both of them.It also allows to explicitly query for a entity capabilities. If they are already cached, the cached capabilities are returned, otherwise a Service Discovery query is made.
-
-
Constructor Summary
Constructors Constructor Description ClientEntityCapabilitiesManager(XmppSession xmppSession)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AsyncResult<DiscoverableInfo>
discoverCapabilities(Jid jid)
Discovers the capabilities of another XMPP entity.DiscoverableInfo
readCapabilities(Hash hash)
Reads capabilities from a cache.DiscoverableInfo
readEntityCapabilities(Jid entity)
Reads entity capabilities for an XMPP entity (JID).void
writeCapabilities(Hash hash, DiscoverableInfo discoverableInfo)
Writes capabilities to the cache.void
writeEntityCapabilities(Jid entity, DiscoverableInfo discoverableInfo)
Writes entity capabilities for an XMPP entity (JID).-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface rocks.xmpp.extensions.caps.EntityCapabilitiesManager
isSupported
-
-
-
-
Constructor Detail
-
ClientEntityCapabilitiesManager
public ClientEntityCapabilitiesManager(XmppSession xmppSession)
-
-
Method Detail
-
readCapabilities
public DiscoverableInfo readCapabilities(Hash hash)
Description copied from interface:EntityCapabilitiesManager
Reads capabilities from a cache.- Specified by:
readCapabilities
in interfaceEntityCapabilitiesManager
- Parameters:
hash
- The hash which identifies the capabilities.- Returns:
- The discovered info (capabilities) associated with the hash.
- See Also:
EntityCapabilitiesManager.writeCapabilities(Hash, DiscoverableInfo)
-
writeCapabilities
public void writeCapabilities(Hash hash, DiscoverableInfo discoverableInfo)
Description copied from interface:EntityCapabilitiesManager
Writes capabilities to the cache.A capability is identified by a hash value and can be shared among multiple entities, e.g. if multiple entities use the same client software with the same features.
Capabilities should be cached permanently, so that they can be reused.
- Specified by:
writeCapabilities
in interfaceEntityCapabilitiesManager
- Parameters:
hash
- The hash which identifies the capabilities.discoverableInfo
- The discovered info (capabilities) to cache.- See Also:
EntityCapabilitiesManager.readCapabilities(Hash)
-
readEntityCapabilities
public DiscoverableInfo readEntityCapabilities(Jid entity)
Description copied from interface:EntityCapabilitiesManager
Reads entity capabilities for an XMPP entity (JID).- Specified by:
readEntityCapabilities
in interfaceEntityCapabilitiesManager
- Parameters:
entity
- The XMPP entity.- Returns:
- The entity capabilities.
- See Also:
EntityCapabilitiesManager.writeEntityCapabilities(Jid, DiscoverableInfo)
-
writeEntityCapabilities
public void writeEntityCapabilities(Jid entity, DiscoverableInfo discoverableInfo)
Description copied from interface:EntityCapabilitiesManager
Writes entity capabilities for an XMPP entity (JID).Usually it is sufficient to cache capabilities associated with an entity (JID) in-memory.
- Specified by:
writeEntityCapabilities
in interfaceEntityCapabilitiesManager
- Parameters:
entity
- The XMPP entity.discoverableInfo
- The entity capabilities.- See Also:
EntityCapabilitiesManager.readEntityCapabilities(Jid)
-
discoverCapabilities
public final AsyncResult<DiscoverableInfo> discoverCapabilities(Jid jid)
Discovers the capabilities of another XMPP entity.- Specified by:
discoverCapabilities
in interfaceEntityCapabilitiesManager
- Parameters:
jid
- The JID, which should usually be a full JID.- Returns:
- The async result with the capabilities in form of the discovered info, which contains the identities, the features and service discovery extensions.
- See Also:
- 6.2 Discovering Capabilities
-
-