Class DiscoverInfo

  • All Implemented Interfaces:
    org.jivesoftware.smack.packet.Element, org.jivesoftware.smack.packet.IqView, org.jivesoftware.smack.packet.NamedElement, org.jivesoftware.smack.packet.StanzaView, org.jivesoftware.smack.packet.TopLevelStreamElement, org.jivesoftware.smack.packet.XmlElement, org.jivesoftware.smack.packet.XmlLangElement, DiscoverInfoView

    public class DiscoverInfo
    extends org.jivesoftware.smack.packet.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 class  DiscoverInfo.Feature
      Represents the features offered by the item.
      static class  DiscoverInfo.Identity
      Represents the identity of a given XMPP entity.
      • Nested classes/interfaces inherited from class org.jivesoftware.smack.packet.IQ

        org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder, org.jivesoftware.smack.packet.IQ.ResponseType, org.jivesoftware.smack.packet.IQ.Type
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ELEMENT  
      static java.lang.String NAMESPACE  
      • 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
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      DiscoverInfoBuilder asBuilder​(java.lang.String stanzaId)  
      static DiscoverInfoBuilder builder​(java.lang.String stanzaId)  
      static DiscoverInfoBuilder builder​(org.jivesoftware.smack.packet.IqData iqData)  
      static DiscoverInfoBuilder builder​(org.jivesoftware.smack.XMPPConnection connection)  
      boolean containsDuplicateFeatures()
      Test if a DiscoverInfo response contains duplicate features.
      boolean containsDuplicateIdentities()
      Test if a DiscoverInfo response contains duplicate identities.
      boolean containsFeature​(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 org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder​(org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder xml)  
      java.lang.String getNode()
      Returns the node attribute that supplements the 'jid' attribute.
      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.
      static boolean nullSafeContainsFeature​(DiscoverInfo discoverInfo, java.lang.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.Element

        toXML, toXML
      • 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
    • Constructor Detail

      • DiscoverInfo

        public DiscoverInfo​(DiscoverInfo d)
        Copy constructor.
        Parameters:
        d - TODO javadoc me please
    • Method Detail

      • 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 Identities with the given category and type.
      • getNode

        public java.lang.String 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 interface DiscoverInfoView
        Returns:
        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 org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder​(org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder xml)
        Specified by:
        getIQChildElementBuilder in class org.jivesoftware.smack.packet.IQ
      • 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
      • builder

        public static DiscoverInfoBuilder builder​(org.jivesoftware.smack.XMPPConnection connection)
      • builder

        public static DiscoverInfoBuilder builder​(org.jivesoftware.smack.packet.IqData iqData)