Saros
Distributed Collaborative Editing and Distributed Party Programming
de.fu_berlin.inf.dpp.misc.xstream.ReplaceableConverter Class Reference

Inherits Converter.

List of all members.

Public Member Functions

 ReplaceableConverter (Converter converter)
synchronized boolean canConvert (Class clazz)
synchronized void marshal (Object value, HierarchicalStreamWriter writer, MarshallingContext context)
synchronized Object unmarshal (HierarchicalStreamReader reader, UnmarshallingContext context)

Detailed Description

A ReplaceableConverter is an XStream Converter that can be exchanged for another. This is a desirable feature, because XStream only allows to register converters but offers no built-in mechanism to unregister them. (One can register another converter for the same class to be converted, and XStream will always use the converter registered most recently, but that is a memory leak.)


Constructor & Destructor Documentation

de.fu_berlin.inf.dpp.misc.xstream.ReplaceableConverter.ReplaceableConverter ( Converter  converter)

Wraps any Converter so this object can be registered to XStream (and stay registered), while the actual converter can be #replace(Converter) replaced}.


Member Function Documentation

synchronized boolean de.fu_berlin.inf.dpp.misc.xstream.ReplaceableConverter.canConvert ( Class  clazz)

Implementations of Converter Since XStream calls canConvert() lazily, the delegate should expect such a call at any time, i.e. even when isReset() returns true.

synchronized void de.fu_berlin.inf.dpp.misc.xstream.ReplaceableConverter.marshal ( Object  value,
HierarchicalStreamWriter  writer,
MarshallingContext  context 
)
synchronized Object de.fu_berlin.inf.dpp.misc.xstream.ReplaceableConverter.unmarshal ( HierarchicalStreamReader  reader,
UnmarshallingContext  context 
)
 All Classes Namespaces Files Functions Variables Enumerations