1 /***************************************************************************** 2 * Copyright (C) NanoContainer Organization. All rights reserved. * 3 * ------------------------------------------------------------------------- * 4 * The software in this package is published under the terms of the BSD * 5 * style license a copy of which has been included with this distribution in * 6 * the LICENSE.txt file. * 7 * * 8 *****************************************************************************/ 9 package org.nanocontainer.integrationkit; 10 11 import org.picocontainer.MutablePicoContainer; 12 13 /** 14 * Interface for composing a container. 15 * See <a HREF="http://nanocontainer.org/NanoWar">NanoWar</a> 16 * for sample usage. 17 * 18 * @author Joe Walnes <a HREF="mailto:joe@thoughtworks.net">Joe Walnes</a> 19 * @author Mauro Talevi 20 */ 21 public interface ContainerComposer { 22 23 /** 24 * Compose the container. This typically involves assembly (registration) 25 * and configuration (setting primitive arguments) of components. 26 * 27 * @param container container to compose 28 * @param compositionScope scope of the container. This variable can be used as a hint to determine 29 */ 30 void composeContainer(MutablePicoContainer container, Object compositionScope); 31 32 } 33