Class DiscoverInfo
java.lang.Object
org.jivesoftware.smack.packet.Stanza
org.jivesoftware.smack.packet.IQ
org.jivesoftware.smackx.disco.packet.DiscoverInfo
- All Implemented Interfaces:
Element
,IqView
,NamedElement
,StanzaView
,TopLevelStreamElement
,XmlElement
,XmlLangElement
,DiscoverInfoView
A DiscoverInfo IQ packet, which is used by XMPP clients to request and receive information
to/from other XMPP entities.
The received information may contain one or more identities of the requested XMPP entity, and a list of supported features by the requested XMPP entity.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
Represents the features offered by the item.static final class
Represents the identity of a given XMPP entity.Nested classes/interfaces inherited from class org.jivesoftware.smack.packet.IQ
IQ.IQChildElementXmlStringBuilder, IQ.ResponseType, IQ.Type
-
Field Summary
FieldsFields inherited from class org.jivesoftware.smack.packet.IQ
IQ_ELEMENT, QUERY_ELEMENT
Fields inherited from class org.jivesoftware.smack.packet.Stanza
DEFAULT_LANGUAGE, ITEM, language, TEXT
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic DiscoverInfoBuilder
static DiscoverInfoBuilder
static DiscoverInfoBuilder
builder
(XMPPConnection connection) boolean
Test if a DiscoverInfo response contains duplicate features.boolean
Test if a DiscoverInfo response contains duplicate identities.boolean
containsFeature
(CharSequence feature) Returns true if the specified feature is part of the discovered information.Returns the discovered features of an XMPP entity.Returns the discovered identities of an XMPP entity.getIdentities
(String category, String type) Returns all Identities of the given category and type of this DiscoverInfo.protected IQ.IQChildElementXmlStringBuilder
This method must be overwritten by IQ subclasses to create their child content.getNode()
Returns the node attribute that supplements the 'jid' attribute.boolean
hasIdentity
(String category, String type) Returns true if this DiscoverInfo contains at least one Identity of the given category and type.static boolean
nullSafeContainsFeature
(DiscoverInfo discoverInfo, CharSequence feature) Methods inherited from class org.jivesoftware.smack.packet.IQ
createErrorResponse, createErrorResponse, createResultIQ, getChildElementName, getChildElementNamespace, getChildElementQName, getChildElementXML, getElementName, getType, setType, toString, toXML
Methods inherited from class org.jivesoftware.smack.packet.Stanza
addCommonAttributes, addExtension, addExtensions, appendErrorIfExists, getDefaultLanguage, getError, getExtension, getExtension, getExtensionElement, getExtensions, getExtensions, getExtensions, getExtensions, getExtensionsMap, getFrom, getLanguage, getNamespace, getStanzaId, getTo, hasExtension, hasExtension, hasStanzaIdSet, logCommonAttributes, overrideExtension, removeExtension, setError, setFrom, setNewStanzaId, setStanzaId, setTo, throwIfNoStanzaId
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.jivesoftware.smack.packet.IqView
getType, isRequestIQ, isResponseIQ
Methods inherited from interface org.jivesoftware.smack.packet.StanzaView
getError, getExtension, getExtension, getExtensions, getExtensions, getExtensions, getFrom, getStanzaId, getTo, hasExtension, hasExtension, hasExtension
Methods inherited from interface org.jivesoftware.smack.packet.XmlElement
getQName
-
Field Details
-
ELEMENT
- See Also:
-
NAMESPACE
- See Also:
-
-
Constructor Details
-
DiscoverInfo
Copy constructor.- Parameters:
d
- TODO javadoc me please
-
-
Method Details
-
getFeatures
Description copied from interface:DiscoverInfoView
Returns the discovered features of an XMPP entity.- Specified by:
getFeatures
in interfaceDiscoverInfoView
- Returns:
- an unmodifiable list of the discovered features of an XMPP entity
-
getIdentities
Description copied from interface:DiscoverInfoView
Returns the discovered identities of an XMPP entity.- Specified by:
getIdentities
in interfaceDiscoverInfoView
- Returns:
- an unmodifiable list of the discovered identities
-
hasIdentity
Returns true if this DiscoverInfo contains at least one Identity of the given category and type.- Parameters:
category
- the category to look for.type
- the type to look for.- Returns:
- true if this DiscoverInfo contains a Identity of the given category and type.
-
getIdentities
Returns all Identities of the given category and type of this DiscoverInfo.- Parameters:
category
- category the category to look for.type
- type the type to look for.- Returns:
- a list of Identities with the given category and type.
-
getNode
Description copied from interface:DiscoverInfoView
Returns the node attribute that supplements the 'jid' attribute. A node is merely something that is associated with a JID and for which the JID can provide information.Node attributes SHOULD be used only when trying to provide or query information which is not directly addressable.
- Specified by:
getNode
in interfaceDiscoverInfoView
- Returns:
- the node attribute that supplements the 'jid' attribute
-
containsFeature
Returns true if the specified feature is part of the discovered information.- Parameters:
feature
- the feature to check- Returns:
- true if the requests feature has been discovered
-
nullSafeContainsFeature
-
getIQChildElementBuilder
protected IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder xml) Description copied from class:IQ
This method must be overwritten by IQ subclasses to create their child content. It is important you don't use the builder to add the final end tag. This will be done automatically byIQ.IQChildElementXmlStringBuilder
after eventual existingExtensionElement
s have been added.For example to create an IQ with a extra attribute and an additional child element
<iq to='foo@example.org' id='123'> <bar xmlns='example:bar' extraAttribute='blaz'> <extraElement>elementText</extraElement> </bar> </iq>
getIQChildElementBuilder
looks like// The builder 'xml' will already have the child element and the 'xmlns' attribute added // So the current builder state is "<bar xmlns='example:bar'" xml.attribute("extraAttribute", "blaz"); xml.rightAngleBracket(); xml.element("extraElement", "elementText"); // Do not close the 'bar' attribute by calling xml.closeElement('bar')
xml.attribute("myAttribute", "myAttributeValue"); xml.setEmptyElement();
If your IQ does not contain any attributes or child elements (besidesExtensionElement
s), consider sub-classingSimpleIQ
instead.- Specified by:
getIQChildElementBuilder
in classIQ
- Parameters:
xml
- a pre-created builder which already has the child element and the 'xmlns' attribute set.- Returns:
- the build to create the IQ child content.
-
containsDuplicateIdentities
Test if a DiscoverInfo response contains duplicate identities.- Returns:
- true if duplicate identities where found, otherwise false
-
containsDuplicateFeatures
Test if a DiscoverInfo response contains duplicate features.- Returns:
- true if duplicate identities where found, otherwise false
-
asBuilder
-
builder
-
builder
-
builder
-