Class DiscoverInfo

java.lang.Object
org.jivesoftware.smack.packet.Stanza
org.jivesoftware.smack.packet.IQ
org.jivesoftware.smackx.disco.packet.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 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

    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 final String
     
    static final String
     

    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
    Copy constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    asBuilder(String stanzaId)
     
    builder(String stanzaId)
     
    builder(org.jivesoftware.smack.packet.IqData iqData)
     
    builder(org.jivesoftware.smack.XMPPConnection connection)
     
    boolean
    Test if a DiscoverInfo response contains duplicate features.
    boolean
    Test if a DiscoverInfo response contains duplicate identities.
    boolean
    Returns true if the specified feature is part of the discovered information.
    boolean
    containsFeatures(String... features)
     
    boolean
     
    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 org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder
    getIQChildElementBuilder(org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder xml)
     
    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
     

    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
  • Field Details

  • Constructor Details

    • DiscoverInfo

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

    • getFeatures

      public List<DiscoverInfo.Feature> getFeatures()
      Description copied from interface: DiscoverInfoView
      Returns the discovered features of an XMPP entity.
      Specified by:
      getFeatures in interface DiscoverInfoView
      Returns:
      an unmodifiable list of the discovered features of an XMPP entity
    • getIdentities

      public List<DiscoverInfo.Identity> getIdentities()
      Description copied from interface: DiscoverInfoView
      Returns the discovered identities of an XMPP entity.
      Specified by:
      getIdentities in interface DiscoverInfoView
      Returns:
      an unmodifiable list of the discovered identities
    • hasIdentity

      public boolean hasIdentity(String category, 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 List<DiscoverInfo.Identity> getIdentities(String category, 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 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(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
    • containsFeatures

      public boolean containsFeatures(String... features)
    • containsFeatures

      public boolean containsFeatures(Collection<? extends CharSequence> features)
    • nullSafeContainsFeature

      public static boolean nullSafeContainsFeature(DiscoverInfo discoverInfo, 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
    • asBuilder

      public DiscoverInfoBuilder asBuilder(String stanzaId)
    • builder

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

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

      public static DiscoverInfoBuilder builder(String stanzaId)