public class StreamInitiation extends IQ
Modifier and Type | Class and Description |
---|---|
class |
StreamInitiation.Feature
The feature negotiation portion of the StreamInitiation packet.
|
static class |
StreamInitiation.File
size: The size, in bytes, of the data to be sent.
name: The name of the file that the Sender wishes to send.
date: The last modification time of the file.
|
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 |
---|
StreamInitiation() |
Modifier and Type | Method and Description |
---|---|
DataForm |
getFeatureNegotiationForm()
Returns the data form which contains the valid methods of stream
neotiation and transfer.
|
StreamInitiation.File |
getFile()
Returns the file containing the information about the request.
|
protected IQ.IQChildElementXmlStringBuilder |
getIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder buf)
This method must be overwritten by IQ subclasses to create their child content.
|
String |
getMimeType()
Identifies the type of file that is desired to be transfered.
|
String |
getSessionID()
Uniquely identifies a stream initiation to the recipient.
|
void |
setFeatureNegotiationForm(DataForm form)
Sets the data form which contains the valid methods of stream neotiation
and transfer.
|
void |
setFile(StreamInitiation.File file)
Sets the file which contains the information pertaining to the file to be
transfered.
|
void |
setMimeType(String mimeType)
The "mime-type" attribute identifies the MIME-type for the data across
the stream.
|
void |
setSessionID(String id)
The "id" attribute is an opaque identifier.
|
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 StreamInitiation()
public void setSessionID(String id)
id
- The "id" attribute.public String getSessionID()
setSessionID(String)
public void setMimeType(String mimeType)
mimeType
- The valid mime-type.public String getMimeType()
setMimeType(String)
public void setFile(StreamInitiation.File file)
file
- The file identified by the stream initiator to be sent.public StreamInitiation.File getFile()
public void setFeatureNegotiationForm(DataForm form)
form
- The dataform containing the methods.public DataForm getFeatureNegotiationForm()
protected IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder buf)
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
buf
- a pre-created builder which already has the child element and the 'xmlns' attribute set.