public class DiscoverItems extends IQ
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.
Modifier and Type | Class and 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.
|
IQ.IQChildElementXmlStringBuilder, IQ.Type
Modifier and Type | Field and Description |
---|---|
static String |
ELEMENT |
static String |
NAMESPACE |
IQ_ELEMENT, QUERY_ELEMENT
DEFAULT_LANGUAGE, ITEM, language, TEXT
Constructor and Description |
---|
DiscoverItems() |
Modifier and Type | Method and 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.
|
createErrorResponse, createErrorResponse, createErrorResponse, createResultIQ, getChildElementName, getChildElementNamespace, getChildElementXML, getChildElementXML, getType, initializeAsResultFor, initialzeAsResultFor, isRequestIQ, setType, toString, toXML
addCommonAttributes, addExtension, addExtensions, appendErrorIfExists, getDefaultLanguage, getError, getExtension, getExtension, getExtensions, getExtensions, getFrom, getLanguage, getPacketID, getStanzaId, getTo, hasExtension, hasExtension, hasStanzaIdSet, logCommonAttributes, overrideExtension, removeExtension, removeExtension, setError, setError, setFrom, setFrom, setLanguage, setPacketID, setStanzaId, setStanzaId, setTo, setTo
public static final String ELEMENT
public static final String NAMESPACE
public DiscoverItems()
public void addItem(DiscoverItems.Item item)
item
- the discovered entity's itempublic void addItems(Collection<DiscoverItems.Item> itemsToAdd)
itemsToAdd
- public List<DiscoverItems.Item> getItems()
public String getNode()
Node attributes SHOULD be used only when trying to provide or query information which is not directly addressable.
public void setNode(String node)
Node attributes SHOULD be used only when trying to provide or query information which is not directly addressable.
node
- the node attribute that supplements the 'jid' attributeprotected IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder xml)
IQ
IQ.IQChildElementXmlStringBuilder
after eventual existing ExtensionElement
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>
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
ExtensionElement
s), consider sub-classing
SimpleIQ
instead.getIQChildElementBuilder
in class IQ
xml
- a pre-created builder which already has the child element and the 'xmlns' attribute set.