001 /* 002 @license.text@ 003 */ 004 005 package biz.hammurapi.config; 006 007 /** 008 * Provides lifecycle methods 009 * @author Pavel Vlasov 010 * @version $Revision: 1.2 $ 011 */ 012 public interface Component { 013 /** 014 * Invoked by container before the first use. 015 * Component shall perform initialization 016 * in this method. 017 * @throws ConfigurationException 018 */ 019 void start() throws ConfigurationException; 020 021 /** 022 * Invoked by container when component is not needed 023 * anymore. Component shall perform cleanup in this method. 024 * @throws ConfigurationException 025 */ 026 void stop() throws ConfigurationException; 027 028 /** 029 * Plugs the component into container and naming bus. 030 * @param Component owner. 031 */ 032 void setOwner(Object owner); 033 }