KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > api > plugin > IExtension


1 // The contents of this file are subject to the Mozilla Public License Version
2
// 1.1
3
//(the "License"); you may not use this file except in compliance with the
4
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
5
//
6
//Software distributed under the License is distributed on an "AS IS" basis,
7
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8
//for the specific language governing rights and
9
//limitations under the License.
10
//
11
//The Original Code is "The Columba Project"
12
//
13
//The Initial Developers of the Original Code are Frederik Dietz and Timo
14
// Stich.
15
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16
//
17
//All Rights Reserved.
18
package org.columba.api.plugin;
19
20
21
22 /**
23  * An extension providing the metadata of an extension and the runtime
24  * context for instanciation.
25  *
26  * @author fdietz
27  */

28 public interface IExtension {
29
30     /**
31      * Get extension metadata, describing the extension and the
32      * runtime context.
33      *
34      * @return
35      */

36     public ExtensionMetadata getMetadata();
37     
38     /**
39      * Instanciate the extension. Method automatically uses the
40      * constructor matching the argument list
41      *
42      * @param arguments argument array
43      * @return extension instance
44      * @throws PluginException
45      */

46     public IExtensionInterface instanciateExtension(Object JavaDoc[] arguments) throws PluginException;
47     
48     /**
49      * Check if this is an internal extension. If its an external
50      * extension, then its specified using the <code>plugin.xml</code
51      * file and uses a different classloader.
52      *
53      * @return true, if extension is internal. False, otherwise.
54      *
55      */

56     public boolean isInternal();
57     
58     /**
59      * An extension can be disabled if an error occured on instanciation.
60      * @return true, if enabled. False, otherwise.
61      */

62     public boolean isEnabled();
63
64 }
65
Popular Tags