Class OSGiPluginRegistry
java.lang.Object
org.datanucleus.plugin.OSGiPluginRegistry
- All Implemented Interfaces:
PluginRegistry
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classSorter for extensions that puts DataNucleus extensions first, then any vendor extension. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final StringDataNucleus package to define whether to check for deps, etc.(package private) ExtensionPoint[]extension points(package private) Map<String, ExtensionPoint> extension points keyed by Unique Id (plugin.id +"."+ id)registered bundles files keyed by bundle symbolic name -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateExecutableExtension(ConfigurationElement confElm, String name, Class[] argTypes, Object[] args) Loads a class (do not initialize) from an attribute ofConfigurationElementBundle[]Accessor for all registered bundlesAcessor for the ExtensionPointAcessor for the currently registed ExtensionPointsprivate org.osgi.framework.BundlegetOsgiBundle(String symbolicName) Loads a class (do not initialize)private BundleregisterBundle(org.osgi.framework.Bundle osgiBundle) Register the plugin bundle.voidLook for Bundles/Plugins and register them.protected voidregisterExtensionPointsForPluginInternal(List<ExtensionPoint> extPoints, boolean updateExtensionPointsArray) Register extension-points for the specified plugin.voidLook for Bundles/Plugins and register them.voidResolve constraints declared in bundle manifest.mf files.resolveURLAsFileURL(URL url) Converts a URL that uses a user-defined protocol into a URL that uses the file protocol.
-
Field Details
-
DATANUCLEUS_PKG
DataNucleus package to define whether to check for deps, etc.- See Also:
-
extensionPointsByUniqueId
Map<String, ExtensionPoint> extensionPointsByUniqueIdextension points keyed by Unique Id (plugin.id +"."+ id) -
registeredPluginByPluginId
-
extensionPoints
ExtensionPoint[] extensionPointsextension points
-
-
Constructor Details
-
OSGiPluginRegistry
Constructor- Parameters:
clr- the ClassLoaderResolver
-
-
Method Details
-
getExtensionPoint
Description copied from interface:PluginRegistryAcessor for the ExtensionPoint- Specified by:
getExtensionPointin interfacePluginRegistry- Parameters:
id- the unique id of the extension point- Returns:
- null if the ExtensionPoint is not registered
-
getExtensionPoints
Description copied from interface:PluginRegistryAcessor for the currently registed ExtensionPoints- Specified by:
getExtensionPointsin interfacePluginRegistry- Returns:
- array of ExtensionPoints
-
registerExtensionPoints
public void registerExtensionPoints()Description copied from interface:PluginRegistryLook for Bundles/Plugins and register them. Register also ExtensionPoints and Extensions declared in /plugin.xml files- Specified by:
registerExtensionPointsin interfacePluginRegistry
-
registerExtensions
public void registerExtensions()Description copied from interface:PluginRegistryLook for Bundles/Plugins and register them. Register also ExtensionPoints and Extensions declared in /plugin.xml files- Specified by:
registerExtensionsin interfacePluginRegistry
-
registerExtensionPointsForPluginInternal
protected void registerExtensionPointsForPluginInternal(List<ExtensionPoint> extPoints, boolean updateExtensionPointsArray) Register extension-points for the specified plugin.- Parameters:
extPoints- ExtensionPoints for this pluginupdateExtensionPointsArray- Whether to update "extensionPoints" array
-
registerBundle
Register the plugin bundle.- Parameters:
osgiBundle- the OSGi bundle- Returns:
- the Plugin
-
createExecutableExtension
public Object createExecutableExtension(ConfigurationElement confElm, String name, Class[] argTypes, Object[] args) throws ClassNotFoundException, SecurityException Description copied from interface:PluginRegistryLoads a class (do not initialize) from an attribute ofConfigurationElement- Specified by:
createExecutableExtensionin interfacePluginRegistry- Parameters:
confElm- the configuration elementname- the attribute nameargTypes- Types of the constructor argumentsargs- The arguments- Returns:
- the instance
- Throws:
ClassNotFoundException- If an error occursSecurityException- If an error occurs
-
loadClass
Description copied from interface:PluginRegistryLoads a class (do not initialize)- Specified by:
loadClassin interfacePluginRegistry- Parameters:
pluginId- the plugin idclassName- the class name- Returns:
- the Class
- Throws:
ClassNotFoundException- if an error occurs in loading
-
resolveURLAsFileURL
Description copied from interface:PluginRegistryConverts a URL that uses a user-defined protocol into a URL that uses the file protocol.- Specified by:
resolveURLAsFileURLin interfacePluginRegistry- Parameters:
url- the url to be converted- Returns:
- the converted URL
- Throws:
IOException- if an error occurs
-
resolveConstraints
public void resolveConstraints()Description copied from interface:PluginRegistryResolve constraints declared in bundle manifest.mf files. This must be invoked after registering all bundles. Should log errors if bundles are not resolvable, or raise runtime exceptions.- Specified by:
resolveConstraintsin interfacePluginRegistry
-
getBundles
Description copied from interface:PluginRegistryAccessor for all registered bundles- Specified by:
getBundlesin interfacePluginRegistry- Returns:
- the bundles
-
getOsgiBundle
-