Class Open
- java.lang.Object
-
- org.jivesoftware.smack.packet.Stanza
-
- org.jivesoftware.smack.packet.IQ
-
- org.jivesoftware.smackx.bytestreams.ibb.packet.Open
-
- All Implemented Interfaces:
Element
,FullyQualifiedElement
,IqView
,NamedElement
,StanzaView
,TopLevelStreamElement
,XmlLangElement
public class Open extends IQ
Represents a request to open an In-Band Bytestream.
-
-
Nested Class Summary
-
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 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.-
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
-
Open
public Open(String sessionID, int blockSize, InBandBytestreamManager.StanzaType stanza)
Creates a new In-Band Bytestream open request packet.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.
- Parameters:
sessionID
- unique session ID identifying this In-Band BytestreamblockSize
- block size in which the data will be fragmentedstanza
- stanza type used to encapsulate the data
-
Open
public Open(String sessionID, int blockSize)
Creates a new In-Band Bytestream open request packet.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.
- Parameters:
sessionID
- unique session ID identifying this In-Band BytestreamblockSize
- block size in which the data will be fragmented
-
-
Method Detail
-
getSessionID
public String getSessionID()
Returns the unique session ID identifying this In-Band Bytestream.- Returns:
- the unique session ID identifying this In-Band Bytestream
-
getBlockSize
public int getBlockSize()
Returns the block size in which the data will be fragmented.- Returns:
- the block size in which the data will be fragmented
-
getStanza
public InBandBytestreamManager.StanzaType getStanza()
Returns the stanza type used to encapsulate the data.- Returns:
- the stanza type used to encapsulate the data
-
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.
-
-