001    /**
002     * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.exportimport.xstream;
016    
017    import com.thoughtworks.xstream.converters.MarshallingContext;
018    
019    import java.util.Iterator;
020    
021    /**
022     * @author Daniel Kocsis
023     */
024    public class XStreamMarshallingContextAdapter
025            implements XStreamMarshallingContext {
026    
027            public XStreamMarshallingContextAdapter(
028                    MarshallingContext marshallingContext) {
029    
030                    _marshallingContext = marshallingContext;
031            }
032    
033            @Override
034            public void convertAnother(Object object) {
035                    _marshallingContext.convertAnother(object);
036            }
037    
038            @Override
039            public void convertAnother(
040                    Object object, XStreamConverter xStreamConverter) {
041    
042                    _marshallingContext.convertAnother(
043                            object, new ConverterAdapter(xStreamConverter));
044            }
045    
046            @Override
047            public Object get(Object key) {
048                    return _marshallingContext.get(key);
049            }
050    
051            @Override
052            public Iterator<String> keys() {
053                    return _marshallingContext.keys();
054            }
055    
056            @Override
057            public void put(Object key, Object value) {
058                    _marshallingContext.put(key, value);
059            }
060    
061            private final MarshallingContext _marshallingContext;
062    
063    }