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: import org.sape.carbon.core.component.ComponentConfiguration;
21:
22: /**
23: * The <code>configure</code> method must be implemented by all Components.
24: * It provides a callback method for the container to push configuration data to
25: * the component. Used in combination with the Suspendable interface.
26: *
27: * Copyright 2002 Sapient
28: * @see org.sape.carbon.core.component.lifecycle.Suspendable
29: * @since carbon 1.0
30: * @author Chris Herron, January 2002
31: * @version $Revision: 1.10 $($Author: dvoet $ / $Date: 2003/05/05 21:21:13 $)
32: */
33: public interface Configurable {
34: /**
35: * Configure the component. This is preceded and followed by the suspend and
36: * resume operations if they are available on the component.
37: *
38: * @param configuration the configuration for this component
39: * @throws LifecycleException indicates an error with the configure
40: * @throws Exception indicates a unknown error
41: */
42: void configure(ComponentConfiguration configuration)
43: throws Exception;
44:
45: }
|