001    /*****************************************************************************
002     * Copyright (C) NanoContainer Organization. All rights reserved.            *
003     * ------------------------------------------------------------------------- *
004     * The software in this package is published under the terms of the BSD      *
005     * style license a copy of which has been included with this distribution in *
006     * the LICENSE.txt file.                                                     *
007     *                                                                           *
008     *****************************************************************************/
009    package org.nanocontainer.integrationkit;
010    
011    import org.picocontainer.MutablePicoContainer;
012    
013    /**
014     * <p>
015     * Interface for populating a container.  The concern here is only on the
016     * container to populate and not on the composition or the building.
017     * </p>
018     * <p>
019     * An example of its use can be found in <a href="http://nanocontainer.org/nanowar">NanoWar</a>
020     * for container population from multiple web scopes.
021     * </p>
022     * 
023     * @author Mauro Talevi
024     */
025    public interface ContainerPopulator {
026        
027        /**
028         * Populate a container 
029         * @param container the MutablePicoContainer to populate
030         */
031        public void populateContainer(MutablePicoContainer container);
032    
033    }