001 /*******************************************************************************
002 * Copyright (C) PicoContainer Organization. All rights reserved.
003 * ---------------------------------------------------------------------------
004 * The software in this package is published under the terms of the BSD style
005 * license a copy of which has been included with this distribution in the
006 * LICENSE.txt file.
007 ******************************************************************************/
008 package org.picocontainer.script.xml;
009
010 import com.thoughtworks.xstream.XStream;
011 import com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider;
012
013 /**
014 * Implementation of XMLComponentInstanceFactory that uses XStream to unmarshal
015 * DOM elements in PureJava mode. In PureJava mode objects are instantiated
016 * using standard Java reflection, which is garanteed to be valid for all JVM
017 * vendors, but the types of objects that can be constructed are limited. See
018 * XStream's <a href="http://xstream.codehaus.org/faq.html">FAQ</a> for details
019 * on the differences between PureJava and Advanced mode.
020 *
021 * @author Mauro Talevi
022 */
023 public class PureJavaXStreamComponentInstanceFactory extends XStreamComponentInstanceFactory {
024 /**
025 * Creates a PureJavaXStreamComponentInstanceFactory using an instance of
026 * XStream in PureJava mode.
027 */
028 public PureJavaXStreamComponentInstanceFactory() {
029 super(new XStream(new PureJavaReflectionProvider()));
030 }
031
032 }