KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sape > carbon > core > component > ComponentConfiguration


1 /*
2  * The contents of this file are subject to the Sapient Public License
3  * Version 1.0 (the "License"); you may not use this file except in compliance
4  * with the License. You may obtain a copy of the License at
5  * http://carbon.sf.net/License.html.
6  *
7  * Software distributed under the License is distributed on an "AS IS" basis,
8  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
9  * 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;
19
20 import org.sape.carbon.core.config.Configuration;
21
22 /**
23  * <p>This configuration is meant to be the base configurations needed for
24  * a Carbon Component. It provides the base configuration sub-system with the
25  * necessary configurations to enable the component to be started.
26  * </p>
27  *
28  * Copyright 2001 Sapient
29  * @since carbon 1.0
30  * @author Greg Hinkle, January 2001
31  * @version $Revision: 1.14 $($Author: dvoet $ / $Date: 2003/05/05 21:21:11 $)
32  */

33 public interface ComponentConfiguration extends Configuration {
34
35     /**
36      * This method returns the class of the implemented interface for this
37      * service. The Component Class must be an implementation of this interface.
38      *
39      * @return Class The class object of the interface implemented by this
40      * component.
41      */

42     Class JavaDoc getFunctionalInterface();
43
44     /**
45      * Sets the interface class that this component is providing.
46      * @param functionalInterfaceClass the Class object for the interface that
47      * the component is providing an implementation for.
48      */

49     void setFunctionalInterface(Class JavaDoc functionalInterfaceClass);
50
51     /**
52      * The method returns the Class object for the class that implements this
53      * component's service. This Class object must not be abstract and must
54      * be public. This class must also have a public default constructor to
55      * allow the ComponentBuilder to instantiate it.
56      *
57      * @return Class The class object that implements this component
58      */

59     Class JavaDoc getFunctionalImplementationClass();
60
61
62     /**
63      * Sets the Class object of the type that is
64      * providing the implementation of this component.
65      * @param functionalImplementationClass The Class object that implements
66      * this component.
67      */

68     void setFunctionalImplementationClass(Class JavaDoc functionalImplementationClass);
69
70     /**
71      * The name of the default component template configuration
72      * used to build components. The component template
73      * configuration object is used define the assistants and
74      * their relationship to the component.
75      */

76     String JavaDoc ComponentTemplateName = "/core/ComponentTemplate";
77
78     /**
79      * Provides access to the component template
80      * configuration name.
81      * @return the name of the component template configuration for
82      * this component configuration
83      */

84     String JavaDoc getComponentTemplateName();
85
86     /**
87      * Sets the name of the component Template.
88      * @param configurationName The name of the configuration that defines
89      * the template construction of this component.
90      */

91     void setComponentTemplateName(String JavaDoc configurationName);
92
93
94     /**
95      * Provides access to the optional description for the configured
96      * component.
97      * @return the description of this component
98      */

99     String JavaDoc getComponentDescription();
100
101     /**
102      * Set the Component's Description.
103      * @param description a user readable note describing this component and
104      * its purpose
105      */

106     void setComponentDescription(String JavaDoc description);
107 }
Popular Tags