public class PrivateDataManager
extends org.jivesoftware.smack.Manager
<color xmlns="http://example.com/xmpp/color">
<favorite>blue</blue>
<leastFavorite>puce</leastFavorite>
</color>
PrivateDataProvider instances are responsible for translating the XML into objects.
If no PrivateDataProvider is registered for a given element name and namespace, then
a DefaultPrivateData instance will be returned.Warning: this is an non-standard protocol documented by XEP-49. Because this is a non-standard protocol, it is subject to change.
| Modifier and Type | Class and Description |
|---|---|
static class |
PrivateDataManager.PrivateDataIQProvider
An IQ provider to parse IQ results containing private data.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
addPrivateDataProvider(java.lang.String elementName,
java.lang.String namespace,
PrivateDataProvider provider)
Adds a private data provider with the specified element name and name space.
|
static PrivateDataManager |
getInstanceFor(org.jivesoftware.smack.XMPPConnection connection) |
PrivateData |
getPrivateData(java.lang.String elementName,
java.lang.String namespace)
Returns the private data specified by the given element name and namespace.
|
static PrivateDataProvider |
getPrivateDataProvider(java.lang.String elementName,
java.lang.String namespace)
Returns the private data provider registered to the specified XML element name and namespace.
|
static void |
removePrivateDataProvider(java.lang.String elementName,
java.lang.String namespace)
Removes a private data provider with the specified element name and namespace.
|
void |
setPrivateData(PrivateData privateData)
Sets a private data value.
|
public static PrivateDataManager getInstanceFor(org.jivesoftware.smack.XMPPConnection connection)
public static PrivateDataProvider getPrivateDataProvider(java.lang.String elementName, java.lang.String namespace)
<iq type='result' to='joe@example.com' from='mary@example.com' id='time_1'>
<query xmlns='jabber:iq:private'>
<prefs xmlns='http://www.xmppclient.com/prefs'>
<value1>ABC</value1>
<value2>XYZ</value2>
</prefs>
</query>
</iq>
Note: this method is generally only called by the internal Smack classes.
elementName - the XML element name.namespace - the XML namespace.public static void addPrivateDataProvider(java.lang.String elementName,
java.lang.String namespace,
PrivateDataProvider provider)
elementName - the XML element name.namespace - the XML namespace.provider - the private data provider.public static void removePrivateDataProvider(java.lang.String elementName,
java.lang.String namespace)
elementName - The XML element name.namespace - The XML namespace.public PrivateData getPrivateData(java.lang.String elementName, java.lang.String namespace) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
If a PrivateDataProvider is registered for the specified element name/namespace pair then
that provider will determine the specific object type that is returned. If no provider
is registered, a DefaultPrivateData instance will be returned.
elementName - the element name.namespace - the namespace.org.jivesoftware.smack.XMPPException.XMPPErrorExceptionorg.jivesoftware.smack.SmackException.NoResponseExceptionorg.jivesoftware.smack.SmackException.NotConnectedExceptionpublic void setPrivateData(PrivateData privateData) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
privateData - the private data.org.jivesoftware.smack.XMPPException.XMPPErrorExceptionorg.jivesoftware.smack.SmackException.NoResponseExceptionorg.jivesoftware.smack.SmackException.NotConnectedException