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,FullyQualifiedElement,IqView,NamedElement,StanzaView,TopLevelStreamElement,XmlLangElement,DiscoverInfoView
public class DiscoverInfo extends IQ implements 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 Classes Modifier and Type Class Description static classDiscoverInfo.FeatureRepresents the features offered by the item.static classDiscoverInfo.IdentityRepresents 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
Fields Modifier and Type Field Description static java.lang.StringELEMENTstatic java.lang.StringNAMESPACE-
Fields 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 Constructor Description DiscoverInfo()Deprecated.useDiscoverInfoBuilderinstead.DiscoverInfo(DiscoverInfo d)Copy constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanaddFeature(java.lang.String feature)Deprecated.useDiscoverInfoBuilder.addFeature(String)instead.booleanaddFeature(DiscoverInfo.Feature feature)Deprecated.useDiscoverInfoBuilder.addFeature(DiscoverInfo.Feature)instead.voidaddFeatures(java.util.Collection<java.lang.String> featuresToAdd)Deprecated.useDiscoverInfoBuilder.addFeatures(Collection)instead.voidaddIdentities(java.util.Collection<DiscoverInfo.Identity> identitiesToAdd)Deprecated.useDiscoverInfoBuilder.addIdentities(Collection)instead.voidaddIdentity(DiscoverInfo.Identity identity)Deprecated.DiscoverInfoBuilderasBuilder(java.lang.String stanzaId)static DiscoverInfoBuilderbuilder(java.lang.String stanzaId)static DiscoverInfoBuilderbuilder(IqData iqData)static DiscoverInfoBuilderbuilder(XMPPConnection connection)DiscoverInfoclone()Deprecated.useasBuilder(String)instead.booleancontainsDuplicateFeatures()Test if a DiscoverInfo response contains duplicate features.booleancontainsDuplicateIdentities()Test if a DiscoverInfo response contains duplicate identities.booleancontainsFeature(java.lang.CharSequence feature)Returns true if the specified feature is part of the discovered information.java.util.List<DiscoverInfo.Feature>getFeatures()Returns the discovered features of an XMPP entity.java.util.List<DiscoverInfo.Identity>getIdentities()Returns the discovered identities of an XMPP entity.java.util.List<DiscoverInfo.Identity>getIdentities(java.lang.String category, java.lang.String type)Returns all Identities of the given category and type of this DiscoverInfo.protected IQ.IQChildElementXmlStringBuildergetIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder xml)This method must be overwritten by IQ subclasses to create their child content.java.lang.StringgetNode()Returns the node attribute that supplements the 'jid' attribute.booleanhasIdentity(java.lang.String category, java.lang.String type)Returns true if this DiscoverInfo contains at least one Identity of the given category and type.static booleannullSafeContainsFeature(DiscoverInfo discoverInfo, java.lang.CharSequence feature)voidsetNode(java.lang.String node)Deprecated.useDiscoverInfoBuilder.setNode(String)instead.-
Methods inherited from class org.jivesoftware.smack.packet.IQ
createErrorResponse, 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, getExtension, getExtensionElement, getExtensions, getExtensions, getExtensions, getExtensions, getExtensionsMap, getFrom, getLanguage, getNamespace, getStanzaId, getTo, hasExtension, hasExtension, hasStanzaIdSet, logCommonAttributes, overrideExtension, removeExtension, removeExtension, setError, setError, setFrom, setLanguage, setNewStanzaId, setStanzaId, setStanzaId, setTo, throwIfNoStanzaId
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jivesoftware.smack.packet.FullyQualifiedElement
getQName
-
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
-
-
-
-
Field Detail
-
ELEMENT
public static final java.lang.String ELEMENT
- See Also:
- Constant Field Values
-
NAMESPACE
public static final java.lang.String NAMESPACE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DiscoverInfo
@Deprecated public DiscoverInfo()
Deprecated.useDiscoverInfoBuilderinstead.Deprecated.
-
DiscoverInfo
public DiscoverInfo(DiscoverInfo d)
Copy constructor.- Parameters:
d- TODO javadoc me please
-
-
Method Detail
-
addFeature
@Deprecated public boolean addFeature(java.lang.String feature)
Deprecated.useDiscoverInfoBuilder.addFeature(String)instead.Adds a new feature to the discovered information.- Parameters:
feature- the discovered feature- Returns:
- true if the feature did not already exist.
-
addFeatures
@Deprecated public void addFeatures(java.util.Collection<java.lang.String> featuresToAdd)
Deprecated.useDiscoverInfoBuilder.addFeatures(Collection)instead.Adds a collection of features to the packet. Does noting if featuresToAdd is null.- Parameters:
featuresToAdd- TODO javadoc me please
-
addFeature
@Deprecated public boolean addFeature(DiscoverInfo.Feature feature)
Deprecated.useDiscoverInfoBuilder.addFeature(DiscoverInfo.Feature)instead.Deprecated.- Parameters:
feature- the future.- Returns:
- true if the feature is new.
-
getFeatures
public java.util.List<DiscoverInfo.Feature> getFeatures()
Description copied from interface:DiscoverInfoViewReturns the discovered features of an XMPP entity.- Specified by:
getFeaturesin interfaceDiscoverInfoView- Returns:
- an unmodifiable list of the discovered features of an XMPP entity
-
addIdentity
@Deprecated public void addIdentity(DiscoverInfo.Identity identity)
Deprecated.Adds a new identity of the requested entity to the discovered information.- Parameters:
identity- the discovered entity's identity
-
addIdentities
@Deprecated public void addIdentities(java.util.Collection<DiscoverInfo.Identity> identitiesToAdd)
Deprecated.useDiscoverInfoBuilder.addIdentities(Collection)instead.Adds identities to the DiscoverInfo stanza.- Parameters:
identitiesToAdd- TODO javadoc me please
-
getIdentities
public java.util.List<DiscoverInfo.Identity> getIdentities()
Description copied from interface:DiscoverInfoViewReturns the discovered identities of an XMPP entity.- Specified by:
getIdentitiesin interfaceDiscoverInfoView- Returns:
- an unmodifiable list of the discovered identities
-
hasIdentity
public boolean hasIdentity(java.lang.String category, java.lang.String type)
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
public java.util.List<DiscoverInfo.Identity> getIdentities(java.lang.String category, java.lang.String type)
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 Identites with the given category and type.
-
getNode
public java.lang.String getNode()
Description copied from interface:DiscoverInfoViewReturns 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:
getNodein interfaceDiscoverInfoView- Returns:
- the node attribute that supplements the 'jid' attribute
-
setNode
@Deprecated public void setNode(java.lang.String node)
Deprecated.useDiscoverInfoBuilder.setNode(String)instead.Sets 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.
- Parameters:
node- the node attribute that supplements the 'jid' attribute
-
containsFeature
public boolean containsFeature(java.lang.CharSequence feature)
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
public static boolean nullSafeContainsFeature(DiscoverInfo discoverInfo, java.lang.CharSequence feature)
-
getIQChildElementBuilder
protected IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder xml)
Description copied from class:IQThis 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.IQChildElementXmlStringBuilderafter eventual existingExtensionElements have been added.For example to create an IQ with a extra attribute and an additional child element
the body of the<iq to='foo@example.org' id='123'> <bar xmlns='example:bar' extraAttribute='blaz'> <extraElement>elementText</extraElement> </bar> </iq>getIQChildElementBuilderlooks like
If your IQ only contains attributes and no child elements, i.e. it can be represented as empty element, then you can mark it as such.// 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 (besidesExtensionElements), consider sub-classingSimpleIQinstead.- Specified by:
getIQChildElementBuilderin 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
public boolean containsDuplicateIdentities()
Test if a DiscoverInfo response contains duplicate identities.- Returns:
- true if duplicate identities where found, otherwise false
-
containsDuplicateFeatures
public boolean containsDuplicateFeatures()
Test if a DiscoverInfo response contains duplicate features.- Returns:
- true if duplicate identities where found, otherwise false
-
asBuilder
public DiscoverInfoBuilder asBuilder(java.lang.String stanzaId)
-
clone
@Deprecated public DiscoverInfo clone()
Deprecated.useasBuilder(String)instead.Deprecated, do not use.- Overrides:
clonein classjava.lang.Object
-
builder
public static DiscoverInfoBuilder builder(XMPPConnection connection)
-
builder
public static DiscoverInfoBuilder builder(IqData iqData)
-
builder
public static DiscoverInfoBuilder builder(java.lang.String stanzaId)
-
-