01: /*
02: * Copyright 2005-2006 The Kuali Foundation.
03: *
04: *
05: * Licensed under the Educational Community License, Version 1.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.opensource.org/licenses/ecl1.php
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package edu.iu.uis.eden.plugin;
18:
19: import java.util.List;
20:
21: import javax.xml.namespace.QName;
22:
23: import org.kuali.rice.resourceloader.ResourceLoader;
24:
25: /**
26: * Maintains a registry of Plugins and allows for loading of resources from those plugins. It is
27: * up to the PluginRegistry implementation to determine the resource loading strategy if it contains
28: * more than a single plugin.
29: *
30: * @author ewestfal
31: */
32: public interface PluginRegistry extends ResourceLoader {
33:
34: public List<PluginEnvironment> getPluginEnvironments();
35:
36: public void addPluginEnvironment(PluginEnvironment pluginEnvironment);
37:
38: public PluginEnvironment removePluginEnvironment(QName pluginName);
39:
40: public PluginEnvironment getPluginEnvironment(QName pluginName);
41:
42: //public List<Plugin> getPlugins();
43:
44: // public Collection getPlugins();
45:
46: // public Set getPluginNames();
47:
48: //public Plugin getPlugin(QName pluginName);
49:
50: // public void removePlugin(String pluginName);
51:
52: // public void addPlugin(Plugin plugin);
53:
54: public Plugin getInstitutionalPlugin();
55:
56: //public void addPluginDirectory(String directoryName);
57:
58: //public List getPluginDirectories();
59:
60: //public void setPluginDirectories(List pluginDirectories);
61:
62: //public Class findClass(String className) throws ClassNotFoundException;
63:
64: //public Object loadObject(String className) throws ResourceUnavailableException;
65:
66: //public void start();
67:
68: //public void stop();
69:
70: //public boolean isStarted();
71:
72: /**
73: * Returns a proxy to an extension object which sets the current context classloader appropriatly.
74: */
75: //public Object proxy(Object extensionObject);
76: }
|