Class Jingle
java.lang.Object
org.jivesoftware.smack.packet.Stanza
org.jivesoftware.smack.packet.IQ
org.jivesoftware.smackx.jingle.element.Jingle
- All Implemented Interfaces:
Element
,IqView
,NamedElement
,StanzaView
,TopLevelStreamElement
,XmlElement
,XmlLangElement
The Jingle element.
Jingle Element Structure
jingle
│ action (REQUIRED, XEP-0166 § 7.2)
| content-accept
| content-add
| content-modify
| content-reject
| content-remove
| description-info
| security-info
| session-accept
| session-info
| session-initiate
| transport-accept
| transport-info
| transport-reject
| transport-replace
│ initiator (RECOMMENDED for session initiate, NOT RECOMMENDED otherwise, full JID, XEP-0166 § 7.1)
│ responder (RECOMMENDED for session accept, NOT RECOMMENDED otherwise, full JID. XEP-0166 § 7.1)
│ sid (REQUIRED, SHOULD match XML Nmtoken production)
│
├── <reason/> (optional, XEP-0166 § 7.4)
│ │
│ └──(alternative─session│busy│..)
│
└── <content/> (one or more, XEP-0166 § 7.3)
│ creator (REQUIRED, must be one of)
| initiator
| responder
│ disposition (OPTIONAL)
│ name (REQUIRED)
│ senders (OPTIONAL, except when content-modify then REQUIRED)
| both (default)
| initiator
| none
| responder
│
├──description
│ │ media
│ │ xmlns
│ │
│ ├──payload─type
│ │
│ └──file (XEP─0234)
│
└──transport
│ xmlns
│ pwd (OPTIONAL, XEP-0176 Jingle ICE)
│ ufrag (OPTIONAL, XEP-0176 Jingle ICE)
│ mode (XEP-0234 Jingle File Transfer)
│ sid (XEP-0234 Jingle File Transfer)
│
└──candidate
component
foundation
generation
id
ip
network
port
priority
protocol
type
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.jivesoftware.smack.packet.IQ
IQ.IQChildElementXmlStringBuilder, IQ.ResponseType, IQ.Type
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final String
static final String
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
-
Method Summary
Modifier and TypeMethodDescriptionstatic Jingle.Builder
static Jingle.Builder
static Jingle.Builder
builder
(XMPPConnection connection) Get the action specified in the jingle IQ.static Jingle.Builder
Deprecated.Get a List of the contents.Get the initiator.protected IQ.IQChildElementXmlStringBuilder
This method must be overwritten by IQ subclasses to create their child content.Get the responder.getSid()
Returns the session ID related to the session.Get the only jingle content if one exists, ornull
.Methods inherited from class org.jivesoftware.smack.packet.IQ
createErrorResponse, createErrorResponse, createResultIQ, getChildElementName, getChildElementNamespace, getChildElementQName, getChildElementXML, getElementName, getType, setType, toString, toXML
Methods inherited from class org.jivesoftware.smack.packet.Stanza
addCommonAttributes, addExtension, addExtensions, appendErrorIfExists, getDefaultLanguage, getError, getExtension, getExtension, getExtensionElement, getExtensions, getExtensions, getExtensions, getExtensions, getExtensionsMap, getFrom, getLanguage, getNamespace, getStanzaId, getTo, hasExtension, hasExtension, hasStanzaIdSet, logCommonAttributes, overrideExtension, removeExtension, setError, setFrom, setNewStanzaId, 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.IqView
isRequestIQ, isResponseIQ
Methods inherited from interface org.jivesoftware.smack.packet.StanzaView
getError, getExtension, getExtension, getExtensions, getExtensions, getExtensions, getFrom, getStanzaId, getTo, hasExtension, hasExtension, hasExtension
Methods inherited from interface org.jivesoftware.smack.packet.XmlElement
getQName
-
Field Details
-
NAMESPACE
- See Also:
-
ACTION_ATTRIBUTE_NAME
- See Also:
-
INITIATOR_ATTRIBUTE_NAME
- See Also:
-
RESPONDER_ATTRIBUTE_NAME
- See Also:
-
SESSION_ID_ATTRIBUTE_NAME
- See Also:
-
ELEMENT
- See Also:
-
-
Method Details
-
getInitiator
Get the initiator. The initiator will be the full JID of the entity that has initiated the flow (which may be different to the "from" address in the IQ)- Returns:
- the initiator
-
getResponder
Get the responder. The responder is the full JID of the entity that has replied to the initiation (which may be different to the "to" address in the IQ).- Returns:
- the responder
-
getSid
Returns the session ID related to the session. The session ID is a unique identifier generated by the initiator. This should match the XML Nmtoken production so that XML character escaping is not needed for characters such as &.- Returns:
- Returns the session ID related to the session.
-
getAction
Get the action specified in the jingle IQ.- Returns:
- the action.
-
getReason
-
getContents
Get a List of the contents.- Returns:
- the contents.
-
getSoleContentOrThrow
Get the only jingle content if one exists, ornull
. This method will throw anIllegalStateException
if there is more than one jingle content.- Returns:
- a JingleContent instance or
null
. - Throws:
IllegalStateException
- if there is more than one jingle content.
-
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.
-
getBuilder
Deprecated.usebuilder(XMPPConnection)
instead.Deprecated, do not use.- Returns:
- a builder.
-
builder
-
builder
-
builder
-
builder(XMPPConnection)
instead.