public class Open extends IQ
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 |
---|
Open(String sessionID,
int blockSize)
Creates a new In-Band Bytestream open request packet.
|
Open(String sessionID,
int blockSize,
InBandBytestreamManager.StanzaType stanza)
Creates a new In-Band Bytestream open request packet.
|
Modifier and Type | Method and Description |
---|---|
int |
getBlockSize()
Returns the block size in which the data will be fragmented.
|
protected IQ.IQChildElementXmlStringBuilder |
getIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder xml)
This method must be overwritten by IQ subclasses to create their child content.
|
String |
getSessionID()
Returns the unique session ID identifying this In-Band Bytestream.
|
InBandBytestreamManager.StanzaType |
getStanza()
Returns the stanza type used to encapsulate the data.
|
createErrorResponse, createResultIQ, getChildElementName, getChildElementNamespace, getChildElementXML, getType, isRequestIQ, setType, toXML
addCommonAttributes, addExtension, addExtensions, appendErrorIfExists, getDefaultLanguage, getError, getExtension, getExtension, getExtensions, getExtensions, getExtensionsXML, getFrom, getLanguage, getPacketID, getStanzaId, getTo, hasExtension, hasExtension, hasStanzaIdSet, overrideExtension, removeExtension, removeExtension, setError, setFrom, setLanguage, setPacketID, setStanzaId, setTo, toString
public static final String ELEMENT
public static final String NAMESPACE
public Open(String sessionID, int blockSize, InBandBytestreamManager.StanzaType stanza)
The data sent over this In-Band Bytestream will be fragmented in blocks with the given block size. The block size should not be greater than 65535. A recommended default value is 4096.
The data can be sent using IQ stanzas or message stanzas.
sessionID
- unique session ID identifying this In-Band BytestreamblockSize
- block size in which the data will be fragmentedstanza
- stanza type used to encapsulate the datapublic Open(String sessionID, int blockSize)
The data sent over this In-Band Bytestream will be fragmented in blocks with the given block size. The block size should not be greater than 65535. A recommended default value is 4096.
The data will be sent using IQ stanzas.
sessionID
- unique session ID identifying this In-Band BytestreamblockSize
- block size in which the data will be fragmentedpublic String getSessionID()
public int getBlockSize()
public InBandBytestreamManager.StanzaType getStanza()
protected IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder xml)
IQ
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 stanza(/packet) extensions), 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.