1 /* 2 * Copyright (C) The DNA Group. All rights reserved. 3 * 4 * This software is published under the terms of the DNA 5 * Software License version 1.1, a copy of which has been included 6 * with this distribution in the LICENSE.txt file. 7 */ 8 package org.codehaus.dna; 9 10 /** 11 * Components should implement this interface if they need to 12 * be initialize resources at startup or deallocate resources 13 * during shutdown. 14 * 15 * <p>If the {@link #initialize()} method is invoked upon a 16 * component then the container must invoke the 17 * {@link #dispose()} even if the {@link #initialize()} throws 18 * an Exception.</p> 19 * 20 * @version $Revision: 1.2 $ $Date: 2004/05/01 09:51:48 $ 21 */ 22 public interface Active 23 { 24 /** 25 * Initialialize the component. 26 * This method gives the component the ability to 27 * perform processing or allocate any resources 28 * before the component becomes operational. 29 * 30 * @throws Exception if unable to initialize component. 31 */ 32 void initialize() 33 throws Exception; 34 35 /** 36 * Dispose the component. 37 * This method gives the component the ability to 38 * perform processing or deallocate any resources 39 * before the component is destroyed. 40 * 41 * @throws Exception if unable to dispose component. 42 */ 43 void dispose() 44 throws Exception; 45 } 46