com.thoughtworks.xstream.core
Class AbstractReferenceMarshaller

java.lang.Object
  extended by com.thoughtworks.xstream.core.TreeMarshaller
      extended by com.thoughtworks.xstream.core.AbstractReferenceMarshaller
All Implemented Interfaces:
DataHolder, MarshallingContext
Direct Known Subclasses:
ReferenceByIdMarshaller, ReferenceByXPathMarshaller

public abstract class AbstractReferenceMarshaller
extends TreeMarshaller
implements MarshallingContext

Abstract base class for a TreeMarshaller, that can build references.

Since:
1.2
Author:
Joe Walnes, Jörg Schaible, Mauro Talevi

Nested Class Summary
static class AbstractReferenceMarshaller.ReferencedImplicitElementException
           
 
Nested classes/interfaces inherited from class com.thoughtworks.xstream.core.TreeMarshaller
TreeMarshaller.CircularReferenceException
 
Field Summary
 
Fields inherited from class com.thoughtworks.xstream.core.TreeMarshaller
converterLookup, writer
 
Constructor Summary
AbstractReferenceMarshaller(HierarchicalStreamWriter writer, ConverterLookup converterLookup, Mapper mapper)
           
 
Method Summary
 void convert(Object item, Converter converter)
           
protected abstract  String createReference(Path currentPath, Object existingReferenceKey)
           
protected abstract  Object createReferenceKey(Path currentPath, Object item)
           
protected abstract  void fireValidReference(Object referenceKey)
           
 
Methods inherited from class com.thoughtworks.xstream.core.TreeMarshaller
convertAnother, convertAnother, get, getMapper, keys, put, start
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.thoughtworks.xstream.converters.MarshallingContext
convertAnother, convertAnother
 
Methods inherited from interface com.thoughtworks.xstream.converters.DataHolder
get, keys, put
 

Constructor Detail

AbstractReferenceMarshaller

public AbstractReferenceMarshaller(HierarchicalStreamWriter writer,
                                   ConverterLookup converterLookup,
                                   Mapper mapper)
Method Detail

convert

public void convert(Object item,
                    Converter converter)
Overrides:
convert in class TreeMarshaller

createReference

protected abstract String createReference(Path currentPath,
                                          Object existingReferenceKey)

createReferenceKey

protected abstract Object createReferenceKey(Path currentPath,
                                             Object item)

fireValidReference

protected abstract void fireValidReference(Object referenceKey)


Copyright © 2004-2014 XStream. All Rights Reserved.