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 package org.picocontainer; 010 011 /** 012 * 013 * 014 */ 015 public interface ComponentLifecycle<T> { 016 017 /** 018 * Invoke the "start" method on the component. 019 * 020 * @param container the container to "start" the component 021 */ 022 void start(PicoContainer container); 023 024 /** 025 * Invoke the "stop" method on the component. 026 * 027 * @param container the container to "stop" the component 028 */ 029 void stop(PicoContainer container); 030 031 /** 032 * Invoke the "dispose" method on the component. 033 * 034 * @param container the container to "dispose" the component 035 */ 036 void dispose(PicoContainer container); 037 038 /** 039 * Test if a component honors a lifecycle. 040 * 041 * @return <code>true</code> if the component has a lifecycle 042 */ 043 boolean componentHasLifecycle(); 044 045 boolean isStarted(); 046 047 048 }