Class DiscoverInfo

    • Method Detail

      • addFeature

        @Deprecated
        public boolean addFeature​(java.lang.String feature)
        Deprecated.
        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)
        Adds a collection of features to the packet. Does noting if featuresToAdd is null.
        Parameters:
        featuresToAdd - TODO javadoc me please
      • 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.IdentitygetIdentities​(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: 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
      • setNode

        @Deprecated
        public void setNode​(java.lang.String node)
        Deprecated.
        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
      • 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 by IQ.IQChildElementXmlStringBuilder after eventual existing ExtensionElements 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>
         
         
        the body of the 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')
         
         
        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.
         xml.attribute("myAttribute", "myAttributeValue");
         xml.setEmptyElement();
         
        If your IQ does not contain any attributes or child elements (besides ExtensionElements), consider sub-classing SimpleIQ instead.
        Specified by:
        getIQChildElementBuilder in class IQ
        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