Saros
Distributed Collaborative Editing and Distributed Party Programming
|
Inherits PacketExtensionProvider, and IQProvider.
Classes | |
class | DropSilentlyPacketExtension |
class | XStreamIQPacket< T > |
class | XStreamPacketExtension< T > |
Public Member Functions | |
XStreamExtensionProvider (String namespace, String elementName, Class<?>...classes) | |
void | registerConverter (Converter converter) |
void | unregisterConverter (Converter converter) |
void | registerConverter (SingleValueConverter converter) |
void | unregisterConverter (SingleValueConverter converter) |
PacketFilter | getPacketFilter () |
String | getNamespace () |
String | getElementName () |
PacketFilter | getIQFilter () |
PacketExtension | parseExtension (XmlPullParser parser) |
T | getPayload (Packet packet) |
T | getPayload (PacketExtension extension) |
T | parseString (String string) throws IOException |
XStreamPacketExtension< T > | create (T t) |
IQ | createIQ (T t) |
IQ | parseIQ (XmlPullParser parser) throws Exception |
Static Public Member Functions | |
static void | setClassLoader (ClassLoader classLoader) |
Protected Attributes | |
final String | elementName |
Flexible extension provider using XStream to serialize arbitrary data objects.
Supports PacketExtension and IQPackets
de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.XStreamExtensionProvider | ( | String | namespace, |
String | elementName, | ||
Class<?>... | classes | ||
) |
Create a new XStreamExtensionProvider using the given element name as the XML root element with the given namespace. The Provider is able to understand the given classes, which should be annotated using XStream annotations.
Important: use valid XML element names and namespaces or the receiving side will be unable to decode the extension !
XStreamPacketExtension<T> de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.create | ( | T | t | ) |
IQ de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.createIQ | ( | T | t | ) |
String de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.getElementName | ( | ) |
PacketFilter de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.getIQFilter | ( | ) |
String de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.getNamespace | ( | ) |
PacketFilter de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.getPacketFilter | ( | ) |
PacketFilter for Packets which contain a PacketExtension matching the XStreamExtensionProvider#elementName and XStreamExtensionProvider#namespace.
T de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.getPayload | ( | Packet | packet | ) |
Returns the payload transported in this packet for this extensions provider.
This method can handle IQ and PacketExtensions used for transferring payloads.
If the packet contains no matching data (or if the packet is null), null is returned.
ClassCastException | if somebody has registered a PacketExtension under our XStreamExtensionProvider#elementName |
T de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.getPayload | ( | PacketExtension | extension | ) |
PacketExtension de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.parseExtension | ( | XmlPullParser | parser | ) |
IQ de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.parseIQ | ( | XmlPullParser | parser | ) | throws Exception |
T de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.parseString | ( | String | string | ) | throws IOException |
void de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.registerConverter | ( | SingleValueConverter | converter | ) |
Register additional SingleValueConverters at runtime. This is useful if a converter cannot be used isolatedly, e.g. because it requires a running Saros session.
converter | The SingleValueConverter to be registered to XStream. There can only be one instance per converter class. If a new instance of an already registered class is registered, the old instance will be replaced. |
void de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.registerConverter | ( | Converter | converter | ) |
Register additional Converters at runtime. This is useful if a converter cannot be used isolatedly, e.g. because it requires a running Saros session.
converter | The Converter to be registered to XStream. There can only be one instance per converter class. If a new instance of an already registered class is registered, the old instance will be replaced. |
static void de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.setClassLoader | ( | ClassLoader | classLoader | ) | [static] |
Sets the class loader to use when a new provider is created. This class loader will be used by XStream to unmarshal the given packet extension.
classLoader | the class loader to use or null to use the class loader the provider was loaded with |
void de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.unregisterConverter | ( | Converter | converter | ) |
Unregisters a previously registered Converter from XStream.
converter | If this converter (more precisely: one of the same class) was registered through registerConverter(Converter), it will no longer be called by XStream. Otherwise, nothing happens. |
void de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.unregisterConverter | ( | SingleValueConverter | converter | ) |
Unregisters a previously registered SingleValueConverter from XStream.
converter | If this converter (more precisely: one of the same class) was registered through registerConverter(SingleValueConverter), it will no longer be called by XStream. Otherwise, nothing happens. |
final String de.fu_berlin.inf.dpp.misc.xstream.XStreamExtensionProvider< T >.elementName [protected] |