Class DiscoverItems
- java.lang.Object
-
- org.jivesoftware.smack.packet.Stanza
-
- org.jivesoftware.smack.packet.IQ
-
- org.jivesoftware.smackx.disco.packet.DiscoverItems
-
- All Implemented Interfaces:
Element
,FullyQualifiedElement
,IqView
,NamedElement
,StanzaView
,TopLevelStreamElement
,XmlLangElement
public class DiscoverItems extends IQ
A DiscoverItems IQ packet, which is used by XMPP clients to request and receive items associated with XMPP entities.The items could also be queried in order to discover if they contain items inside. Some items may be addressable by its JID and others may require to be addressed by a JID and a node name.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DiscoverItems.Item
An item is associated with an XMPP Entity, usually thought of a children of the parent entity and normally are addressable as a JID.-
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 String
ELEMENT
static 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
-
-
Constructor Summary
Constructors Constructor Description DiscoverItems()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addItem(DiscoverItems.Item item)
Adds a new item to the discovered information.void
addItems(Collection<DiscoverItems.Item> itemsToAdd)
Adds a collection of items to the discovered information.protected IQ.IQChildElementXmlStringBuilder
getIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder xml)
This method must be overwritten by IQ subclasses to create their child content.List<DiscoverItems.Item>
getItems()
Returns the discovered items of the queried XMPP entity.String
getNode()
Returns the node attribute that supplements the 'jid' attribute.void
setNode(String node)
Sets the node attribute that supplements the 'jid' attribute.-
Methods inherited from class org.jivesoftware.smack.packet.IQ
createErrorResponse, createErrorResponse, createErrorResponse, createResultIQ, getChildElementName, getChildElementNamespace, getChildElementQName, getChildElementXML, getElementName, getType, isRequestIQ, isResponseIQ, 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
clone, 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.StanzaView
getError, getExtension, getExtension, getExtensions, getExtensions, getExtensions, getFrom, getStanzaId, getTo, hasExtension, hasExtension, hasExtension
-
-
-
-
Field Detail
-
ELEMENT
public static final String ELEMENT
- See Also:
- Constant Field Values
-
NAMESPACE
public static final String NAMESPACE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DiscoverItems
public DiscoverItems()
-
-
Method Detail
-
addItem
public void addItem(DiscoverItems.Item item)
Adds a new item to the discovered information.- Parameters:
item
- the discovered entity's item
-
addItems
public void addItems(Collection<DiscoverItems.Item> itemsToAdd)
Adds a collection of items to the discovered information. Does nothing if itemsToAdd is null- Parameters:
itemsToAdd
- TODO javadoc me please
-
getItems
public List<DiscoverItems.Item> getItems()
Returns the discovered items of the queried XMPP entity.- Returns:
- an unmodifiable list of the discovered entity's items
-
getNode
public String getNode()
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.
- Returns:
- the node attribute that supplements the 'jid' attribute
-
setNode
public void setNode(String node)
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
-
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.
-
-