package com.t3.xstreamversioned.marshalling;
import com.t3.xstreamversioned.migration.MigrationManager;
import com.thoughtworks.xstream.converters.Converter;
import com.thoughtworks.xstream.converters.ConverterLookup;
import com.thoughtworks.xstream.core.ReferenceByIdMarshaller;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
import com.thoughtworks.xstream.mapper.Mapper;
public class MigratingMarshaller extends ReferenceByIdMarshaller {
private MigrationManager mm;
public MigratingMarshaller(MigrationManager mm, HierarchicalStreamWriter writer, ConverterLookup converterLookup, Mapper mapper) {
super(writer, converterLookup, mapper);
this.mm=mm;
}
@Override
public void convert(Object item, Converter converter) {
super.convert(item, new MigratingConverter(mm, converter));
}
}