org.jpox.plugin
Class PluginManager

java.lang.Object
  extended by org.jpox.plugin.PluginManager

public class PluginManager
extends java.lang.Object

Manages the registry of Extensions and Extension Points.

Version:
$Revision: 1.26 $

Constructor Summary
PluginManager(PMFConfiguration conf, ClassLoaderResolver clr)
          Constructor
 
Method Summary
 java.lang.Object createExecutableExtension(java.lang.String extensionPoint, java.lang.String discrimAttrName, java.lang.String discrimAttrValue, java.lang.String attributeName, java.lang.Class[] argsClass, java.lang.Object[] args)
          Convenience accessor for getting the Class of an attribute for an extension (of an extension point).
 java.lang.String getAttributeValueForExtension(java.lang.String extensionPoint, java.lang.String discrimAttrName, java.lang.String discrimAttrValue, java.lang.String attributeName)
          Convenience accessor for getting the value of an attribute for an extension (of an extension point).
 java.lang.String getAttributeValueForExtension(java.lang.String extensionPoint, java.lang.String discrimAttrName1, java.lang.String discrimAttrValue1, java.lang.String discrimAttrName2, java.lang.String discrimAttrValue2, java.lang.String attributeName)
          Convenience accessor for getting the value of an attribute for an extension (of an extension point).
 ConfigurationElement getConfigurationElementForExtension(java.lang.String extensionPointName, java.lang.String discrimAttrName, java.lang.String discrimAttrValue)
          Convenience accessor for getting the ConfigurationElement for an extension (of an extension point).
 ConfigurationElement getConfigurationElementForExtension(java.lang.String extensionPointName, java.lang.String discrimAttrName1, java.lang.String discrimAttrValue1, java.lang.String discrimAttrName2, java.lang.String discrimAttrValue2)
          Convenience accessor for getting the ConfigurationElement for an extension (of an extension point).
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PluginManager

public PluginManager(PMFConfiguration conf,
                     ClassLoaderResolver clr)
Constructor

Parameters:
conf - the PMF Configuration
clr - the ClassLoaderResolver
Method Detail

getExtensionPoint

public 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

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

Returns:
array of ExtensionPoints

registerExtensionPoints

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


registerExtensions

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


getConfigurationElementForExtension

public ConfigurationElement getConfigurationElementForExtension(java.lang.String extensionPointName,
                                                                java.lang.String discrimAttrName,
                                                                java.lang.String discrimAttrValue)
Convenience accessor for getting the ConfigurationElement for an extension (of an extension point).

Parameters:
extensionPointName - The extension point
discrimAttrName - Attribute on the extension to use as discriminator
discrimAttrValue - Value for discriminator attribute
Returns:
The value of the attribute

getConfigurationElementForExtension

public ConfigurationElement getConfigurationElementForExtension(java.lang.String extensionPointName,
                                                                java.lang.String discrimAttrName1,
                                                                java.lang.String discrimAttrValue1,
                                                                java.lang.String discrimAttrName2,
                                                                java.lang.String discrimAttrValue2)
Convenience accessor for getting the ConfigurationElement for an extension (of an extension point).

Parameters:
extensionPointName - The extension point
discrimAttrName1 - Attribute on the extension to use as discriminator1
discrimAttrValue1 - Value for discriminator1 attribute
discrimAttrName2 - Attribute on the extension to use as discriminator2
discrimAttrValue2 - Value for discriminator2 attribute
Returns:
The value of the attribute

getAttributeValueForExtension

public java.lang.String getAttributeValueForExtension(java.lang.String extensionPoint,
                                                      java.lang.String discrimAttrName,
                                                      java.lang.String discrimAttrValue,
                                                      java.lang.String attributeName)
Convenience accessor for getting the value of an attribute for an extension (of an extension point).

Parameters:
extensionPoint - The extension point
discrimAttrName - Attribute on the extension to use as discriminator
discrimAttrValue - Value for discriminator attribute
attributeName - Name of the attribute whose value we want
Returns:
The value of the attribute

getAttributeValueForExtension

public java.lang.String getAttributeValueForExtension(java.lang.String extensionPoint,
                                                      java.lang.String discrimAttrName1,
                                                      java.lang.String discrimAttrValue1,
                                                      java.lang.String discrimAttrName2,
                                                      java.lang.String discrimAttrValue2,
                                                      java.lang.String attributeName)
Convenience accessor for getting the value of an attribute for an extension (of an extension point).

Parameters:
extensionPoint - The extension point
discrimAttrName1 - Attribute on the extension to use as discriminator1
discrimAttrValue1 - Value for discriminator1 attribute
discrimAttrName2 - Attribute on the extension to use as discriminator2
discrimAttrValue2 - Value for discriminator2 attribute
attributeName - Name of the attribute whose value we want
Returns:
The value of the attribute

createExecutableExtension

public java.lang.Object createExecutableExtension(java.lang.String extensionPoint,
                                                  java.lang.String discrimAttrName,
                                                  java.lang.String discrimAttrValue,
                                                  java.lang.String attributeName,
                                                  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
Convenience accessor for getting the Class of an attribute for an extension (of an extension point).

Parameters:
extensionPoint - The extension point
discrimAttrName - Attribute on the extension to use as discriminator
discrimAttrValue - Value for discriminator attribute
attributeName - Name of the attribute whose value we want
Returns:
The value of the attribute
Throws:
java.lang.ClassNotFoundException
java.lang.SecurityException
java.lang.NoSuchMethodException
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException

loadClass

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

Parameters:
pluginId - the plugin id
className - the class name
Returns:
the Class
Throws:
ClassNotResolvedException

resolveURLAsFileURL

public 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.