01: /*
02: * The contents of this file are subject to the Sapient Public License
03: * Version 1.0 (the "License"); you may not use this file except in compliance
04: * with the License. You may obtain a copy of the License at
05: * http://carbon.sf.net/License.html.
06: *
07: * Software distributed under the License is distributed on an "AS IS" basis,
08: * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
09: * the specific language governing rights and limitations under the License.
10: *
11: * The Original Code is The Carbon Component Framework.
12: *
13: * The Initial Developer of the Original Code is Sapient Corporation
14: *
15: * Copyright (C) 2003 Sapient Corporation. All Rights Reserved.
16: */
17:
18: package org.sape.carbon.core.component.lifecycle;
19:
20: /**
21: * This interface should be implemented by Components that wish to
22: * provide callback methods to participate in lifecycle start and stop
23: * operations.
24: *
25: * Copyright 2002 Sapient
26: * @since carbon 1.0
27: * @author Chris Herron, January 2002
28: * @version $Revision: 1.7 $($Author: dvoet $ / $Date: 2003/05/05 21:21:13 $)
29: */
30: public interface Startable {
31: /**
32: * Start the component. On return, the container will begin fowarding
33: * requests to the component. This may be an opportunity to dispatch
34: * worker threads.
35: *
36: * @throws Exception when there is a failure to start the component
37: */
38: void start() throws Exception;
39:
40: /**
41: * Stop the component. Prior to entry, the container will cease forwarding
42: * requests for service to the component. This is an opportunity to cleanly
43: * complete or abort any outstanding work. For example, a set of worker
44: * threads could be killed off, or a queue set to drain.
45: *
46: * @throws Exception when there is a failure to stop the exception
47: */
48: void stop() throws Exception;
49: }
|