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 org.picocontainer.PicoContainer;
011    import org.w3c.dom.Element;
012    
013    /**
014     * Factory that creates instances from DOM Elements
015     * 
016     * @author Paul Hammant
017     * @author Marcos Tarruella
018     */
019    public interface XMLComponentInstanceFactory {
020        /**
021         * Creates an instance of an Object from a DOM Element
022         * 
023         * @param container the PicoContainer
024         * @param element the DOM Element
025         * @param classLoader the ClassLoader
026         * @return An Object instance
027         */
028        Object makeInstance(PicoContainer container, Element element, ClassLoader classLoader);
029    }