/* * Copyright (C) 2004, 2005 Joe Walnes. * Copyright (C) 2006, 2007 XStream Committers. * All rights reserved. * * The software in this package is published under the terms of the BSD * style license a copy of which has been included with this distribution in * the LICENSE.txt file. * * Created on 03. April 2004 by Joe Walnes */ package com.thoughtworks.xstream.core; import com.thoughtworks.xstream.converters.ConverterLookup; import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; import com.thoughtworks.xstream.mapper.Mapper; public class ReferenceByXPathMarshallingStrategy extends AbstractTreeMarshallingStrategy { public static int RELATIVE = 0; public static int ABSOLUTE = 1; private final int mode; /** * @deprecated As of 1.2, use {@link #ReferenceByXPathMarshallingStrategy(int)} */ public ReferenceByXPathMarshallingStrategy() { this(RELATIVE); } public ReferenceByXPathMarshallingStrategy(int mode) { this.mode = mode; } protected TreeUnmarshaller createUnmarshallingContext(Object root, HierarchicalStreamReader reader, ConverterLookup converterLookup, Mapper mapper) { return new ReferenceByXPathUnmarshaller(root, reader, converterLookup, mapper); } protected TreeMarshaller createMarshallingContext( HierarchicalStreamWriter writer, ConverterLookup converterLookup, Mapper mapper) { return new ReferenceByXPathMarshaller(writer, converterLookup, mapper, mode); } }