Package org.jivesoftware.smack.provider

The Smack provider architecture is a system for plugging in custom XML parsing of staza extensions (ExtensionElement, IQ stanzas and Nonza. Hence, there are the the following providers: For most users, only extension element and IQ providers should be relevant.

Architecture

Providers are registered with the ProviderManager. XML elements identified by their QName, that is, their qualified name consistent of the XML elements name and its namespace. The QName is hence used to map XML elements to their provider Whenever a stanza extension is found in a stanza, parsing will be passed to the correct provider. Each provider is responsible for parsing the XML stream via Smack's XmlPullParser.

Unknown Extension Elements

If no extension element provider is registered for an element, then Smack will fall back to parse the "unknown" element to a StandardExtensionElement.

Custom Provider Example

See IqProvider for examples.