org.jpox.plugin
Interface PluginRegistry

All Known Implementing Classes:
EclipsePluginRegistry, NonManagedPluginRegistry

public interface PluginRegistry

Loader and registry of Extensions and Extension Points. The implementation of this interface must have a public constructor taking the ClassLoaderResolver interface as argument

Version:
$Revision: 1.6 $

Method Summary
 java.lang.Object createExecutableExtension(ConfigurationElement confElm, java.lang.String name, java.lang.Class[] argsClass, java.lang.Object[] args)
          Loads a class (do not initialize) from an attribute of ConfigurationElement
 ExtensionPoint getExtensionPoint(java.lang.String id)
          Acessor for the ExtensionPoint
 ExtensionPoint[] getExtensionPoints()
          Acessor for the currently registed ExtensionPoints
 java.lang.Class loadClass(java.lang.String pluginId, java.lang.String className)
          Loads a class (do not initialize)
 void registerExtensionPoints()
          Register Extension Points declared in /org/jpox/plugin/plugin.xml
 void registerExtensions()
          Register ExtensionPoints and Extensions declared in plugin files
 java.net.URL resolveURLAsFileURL(java.net.URL url)
          Converts a URL that uses a user-defined protocol into a URL that uses the file protocol.
 

Method Detail

getExtensionPoint

ExtensionPoint getExtensionPoint(java.lang.String id)
Acessor for the ExtensionPoint

Parameters:
id - the unique id of the extension point
Returns:
null if the ExtensionPoint is not registered

getExtensionPoints

ExtensionPoint[] getExtensionPoints()
Acessor for the currently registed ExtensionPoints

Returns:
array of ExtensionPoints

registerExtensionPoints

void registerExtensionPoints()
Register Extension Points declared in /org/jpox/plugin/plugin.xml


registerExtensions

void registerExtensions()
Register ExtensionPoints and Extensions declared in plugin files


createExecutableExtension

java.lang.Object createExecutableExtension(ConfigurationElement confElm,
                                           java.lang.String name,
                                           java.lang.Class[] argsClass,
                                           java.lang.Object[] args)
                                           throws java.lang.ClassNotFoundException,
                                                  java.lang.SecurityException,
                                                  java.lang.NoSuchMethodException,
                                                  java.lang.IllegalArgumentException,
                                                  java.lang.InstantiationException,
                                                  java.lang.IllegalAccessException,
                                                  java.lang.reflect.InvocationTargetException
Loads a class (do not initialize) from an attribute of ConfigurationElement

Parameters:
confElm - the configuration element
name - the attribute name
Returns:
the Class
Throws:
java.lang.ClassNotFoundException
java.lang.SecurityException
java.lang.NoSuchMethodException
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException

loadClass

java.lang.Class loadClass(java.lang.String pluginId,
                          java.lang.String className)
                          throws java.lang.ClassNotFoundException
Loads a class (do not initialize)

Parameters:
pluginId - the plugin id
className - the class name
Returns:
the Class
Throws:
java.lang.ClassNotFoundException

resolveURLAsFileURL

java.net.URL resolveURLAsFileURL(java.net.URL url)
                                 throws java.io.IOException
Converts a URL that uses a user-defined protocol into a URL that uses the file protocol.

Parameters:
url - the url to be converted
Returns:
the converted URL
Throws:
java.io.IOException


Copyright © -2008 . All Rights Reserved.