001 /***************************************************************************** 002 * Copyright (C) PicoContainer 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 010 package org.picocontainer.defaults; 011 012 import org.picocontainer.ComponentMonitor; 013 014 /** 015 * <p> 016 * Interface responsible for changing monitoring strategy. 017 * It may be implemented by {@link PicoContainer containers} and 018 * single {@link ComponentAdapter component adapters}. 019 * The choice of supporting the monitor strategy is left to the 020 * implementers of the container and adapters. 021 * </p> 022 * 023 * @author Paul Hammant 024 * @author Joerg Schaible 025 * @author Mauro Talevi 026 * @version $Revision: $ 027 * @since 1.2 028 */ 029 public interface ComponentMonitorStrategy { 030 031 /** 032 * Changes the component monitor used 033 * @param monitor the new ComponentMonitor to use 034 */ 035 void changeMonitor(ComponentMonitor monitor); 036 037 /** 038 * Returns the monitor currently used 039 * @return The ComponentMonitor currently used 040 */ 041 ComponentMonitor currentMonitor(); 042 043 }