org.picocontainer.script.xml
Class XStreamContainerBuilder

java.lang.Object
  extended by org.picocontainer.script.AbstractContainerBuilder
      extended by org.picocontainer.script.ScriptedContainerBuilder
          extended by org.picocontainer.script.xml.XStreamContainerBuilder
All Implemented Interfaces:
ContainerBuilder

public class XStreamContainerBuilder
extends ScriptedContainerBuilder

This class builds up a hierarchy of PicoContainers from an XML configuration file.

Author:
Konstantin Pribluda

Constructor Summary
XStreamContainerBuilder(Reader script)
          construct with just reader, use context classloader
XStreamContainerBuilder(Reader script, ClassLoader classLoader)
          construct with given script and specified classloader
XStreamContainerBuilder(Reader script, ClassLoader classLoader, com.thoughtworks.xstream.io.HierarchicalStreamDriver driver)
           
XStreamContainerBuilder(Reader script, ClassLoader classLoader, com.thoughtworks.xstream.io.HierarchicalStreamDriver driver, LifecycleMode lifecycleMode)
           
XStreamContainerBuilder(URL script, ClassLoader classLoader, com.thoughtworks.xstream.io.HierarchicalStreamDriver driver)
           
XStreamContainerBuilder(URL script, ClassLoader classLoader, com.thoughtworks.xstream.io.HierarchicalStreamDriver driver, LifecycleMode lifecycleMode)
           
 
Method Summary
protected  org.picocontainer.PicoContainer createContainerFromScript(org.picocontainer.PicoContainer parentContainer, Object assemblyScope)
           
protected  void insertAdapter(org.picocontainer.MutablePicoContainer container, Element rootElement)
          process adapter node
protected  void insertImplementation(org.picocontainer.MutablePicoContainer container, Element rootElement)
          process implementation node
protected  void insertInstance(org.picocontainer.MutablePicoContainer container, Element rootElement)
          process instance node.
protected  Object parseElementChild(Element rootElement)
          parse element child with xstream and provide object
 void populateContainer(org.picocontainer.MutablePicoContainer container)
           
 
Methods inherited from class org.picocontainer.script.ScriptedContainerBuilder
createContainer, getClassLoader, getScriptInputStream, getScriptReader
 
Methods inherited from class org.picocontainer.script.AbstractContainerBuilder
autoStart, buildContainer, killContainer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XStreamContainerBuilder

public XStreamContainerBuilder(Reader script)
construct with just reader, use context classloader

Parameters:
script -

XStreamContainerBuilder

public XStreamContainerBuilder(Reader script,
                               ClassLoader classLoader)
construct with given script and specified classloader

Parameters:
classLoader -
script -

XStreamContainerBuilder

public XStreamContainerBuilder(Reader script,
                               ClassLoader classLoader,
                               com.thoughtworks.xstream.io.HierarchicalStreamDriver driver)

XStreamContainerBuilder

public XStreamContainerBuilder(Reader script,
                               ClassLoader classLoader,
                               com.thoughtworks.xstream.io.HierarchicalStreamDriver driver,
                               LifecycleMode lifecycleMode)

XStreamContainerBuilder

public XStreamContainerBuilder(URL script,
                               ClassLoader classLoader,
                               com.thoughtworks.xstream.io.HierarchicalStreamDriver driver)

XStreamContainerBuilder

public XStreamContainerBuilder(URL script,
                               ClassLoader classLoader,
                               com.thoughtworks.xstream.io.HierarchicalStreamDriver driver,
                               LifecycleMode lifecycleMode)
Method Detail

populateContainer

public void populateContainer(org.picocontainer.MutablePicoContainer container)

insertAdapter

protected void insertAdapter(org.picocontainer.MutablePicoContainer container,
                             Element rootElement)
process adapter node

Parameters:
container -
rootElement -

insertImplementation

protected void insertImplementation(org.picocontainer.MutablePicoContainer container,
                                    Element rootElement)
                             throws ClassNotFoundException
process implementation node

Parameters:
container -
rootElement -
Throws:
ClassNotFoundException

insertInstance

protected void insertInstance(org.picocontainer.MutablePicoContainer container,
                              Element rootElement)
process instance node. we get key from atributes ( if any ) and leave content to xstream. we allow only one child node inside. ( first one wins )

Parameters:
container -
rootElement -

parseElementChild

protected Object parseElementChild(Element rootElement)
parse element child with xstream and provide object

Parameters:
rootElement -
Returns:

createContainerFromScript

protected org.picocontainer.PicoContainer createContainerFromScript(org.picocontainer.PicoContainer parentContainer,
                                                                    Object assemblyScope)
Specified by:
createContainerFromScript in class ScriptedContainerBuilder


Copyright © 2003-2010 Codehaus. All Rights Reserved.