public final class ErrorIQ extends IQ
According to RFC 6120 ยง 8.3.1 "4. An error stanza MUST contain an <error/> child element.", so this class can only be constructed if a stanza error is provided.
| Modifier and Type | Class and Description |
|---|---|
static class |
ErrorIQ.Builder |
IQ.IQChildElementXmlStringBuilder, IQ.ResponseType, IQ.Type| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ELEMENT |
IQ_ELEMENT, QUERY_ELEMENTDEFAULT_LANGUAGE, ITEM, language, TEXT| Modifier and Type | Method and Description |
|---|---|
static ErrorIQ.Builder |
builder(StanzaError error) |
static ErrorIQ.Builder |
builder(StanzaError error,
IqData iqData) |
static ErrorIQ |
createErrorResponse(IQ request,
StanzaError error) |
protected IQ.IQChildElementXmlStringBuilder |
getIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder xml)
This method must be overwritten by IQ subclasses to create their child content.
|
createErrorResponse, createErrorResponse, createResultIQ, getChildElementName, getChildElementNamespace, getChildElementQName, getChildElementXML, getElementName, getType, setType, toString, toXMLaddCommonAttributes, 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, throwIfNoStanzaIdclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitisRequestIQ, isResponseIQgetError, getExtension, getExtension, getExtensions, getExtensions, getExtensions, getFrom, getStanzaId, getTo, hasExtension, hasExtension, hasExtensiongetLanguagegetQNamepublic static final java.lang.String ELEMENT
public static ErrorIQ createErrorResponse(IQ request, StanzaError error)
protected IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder xml)
IQIQ.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.getIQChildElementBuilder in class IQxml - a pre-created builder which already has the child element and the 'xmlns' attribute set.public static ErrorIQ.Builder builder(StanzaError error)
public static ErrorIQ.Builder builder(StanzaError error, IqData iqData)