|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.softwareag.cis.plugin.registry.PlugInRegistry
public class PlugInRegistry
Parse plug-in files and register respective extensions with registry
Nested Class Summary | |
---|---|
static class |
PlugInRegistry.CyclicDependencyException
|
Field Summary | |
---|---|
static char |
CHAR_ID_DELIMITER
|
static java.lang.String |
DELETED_PLUGIN_XML
|
static java.lang.String |
MERGED_PLUGIN_XML
|
static java.lang.String |
PLUGIN_XML
|
static int |
PREFERRED_PLUGIN
|
static java.lang.String |
UPDATED_PLUGIN_DIR_SUFFIX
|
static java.lang.String |
UPDATED_PLUGIN_XML
|
Constructor Summary | |
---|---|
PlugInRegistry(java.io.File directory)
Constructor to initialize registry by parsing plug-in file of input directory |
|
PlugInRegistry(java.io.File directory,
ApplicationContext applicationContext)
|
Method Summary | |
---|---|
void |
addExtension(Extension extension)
Contribute extension to an extension point. |
void |
addExtensionPoint(java.lang.String extensionPoint)
|
void |
addPlugIn(PlugIn plugIn)
Register this plug-in to the plug-in registry |
void |
checkForCycles()
Check if cyclic dependency has been found among plug-ins |
boolean |
checkPlugInRefs(PlugIn plugIn)
Checks if all direct references of this plug-in are resolved |
void |
clear()
Remove all references to extensions, extension points and instances of classes implementing extension points |
static java.util.List |
createExtensionList(com.softwareag.cis.server.Adapter adapter,
java.lang.String extptId,
java.lang.Class<?> interfac)
Obtain list of extension implementations for given extension point |
static java.util.List |
createExtensionList(ApplicationContext ac,
java.lang.String extptId,
java.lang.Class<?> interfac)
Obtain list of extension implementations for given extension point |
static java.lang.String |
createId(java.lang.String pluginId,
java.lang.String extPointId)
Create fully qualified id of extension point for given ID of plug-in and local ID of extension point |
static java.lang.String |
extractPlugInId(java.lang.String extPointId)
Extract ID of plug-in from given ID of extension point |
Extension |
getExtension(java.lang.String extensionPointId,
java.lang.String extensionId)
Get extension for given IDs of extension point and extension |
java.util.List<Extension> |
getExtensionByClass(java.lang.String extensionPointId,
java.lang.String fqn)
Get extensions for given ID of extension point and implementing class |
java.util.List<Extension> |
getExtensions(java.lang.String id)
Get list of extensions for given external extension point id |
java.lang.String |
getFileName()
|
java.io.InputStream |
getInputStream()
|
PlugIn |
getPlugIn(java.lang.String plugInID)
Get plug-in for given id |
java.util.List<PlugIn> |
getPlugIns()
Get list of plug-ins |
boolean |
getUsePluginClassLoader()
Shall plug-ins use their own class loader |
void |
parsePlugin(java.io.InputStream inputStream)
Prepare the file path and to call the parsePluginFile function & register the plug-in |
void |
parsePlugin(java.lang.String pluginFileName)
Prepare the file path and to call the parsePluginFile function & register the plug-in |
java.lang.ClassLoader |
popContextClassLoader(java.lang.ClassLoader saveClassLoader)
Restore thread context class-loader |
java.lang.ClassLoader |
pushContextClassLoader(java.lang.ClassLoader newClassLoader)
Set thread context class loader to given class loader |
java.lang.ClassLoader |
pushContextClassLoader(java.lang.String pluginId)
Set thread context class loader to class loader of plug-in with given id |
void |
registerClassLoader(PlugIn plugIn)
|
void |
registerExtensionPoints(PlugIn plugIn)
Register all extension points of a given plug-in. |
void |
registerExtensions(PlugIn plugIn)
Register all extensions of a given plug-in. |
void |
removeExtension(Extension extension)
Removes this extension from an extensionPoint |
void |
removePlugIn(PlugIn plugIn)
Remove plug-in from registry including all plug-ins depending on it. |
void |
setFileName(java.lang.String fileName)
|
void |
setInputStream(java.io.InputStream inputStream)
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int PREFERRED_PLUGIN
public static final char CHAR_ID_DELIMITER
public static final java.lang.String PLUGIN_XML
public static final java.lang.String MERGED_PLUGIN_XML
public static final java.lang.String DELETED_PLUGIN_XML
public static final java.lang.String UPDATED_PLUGIN_XML
public static final java.lang.String UPDATED_PLUGIN_DIR_SUFFIX
Constructor Detail |
---|
public PlugInRegistry(java.io.File directory)
directory
- directory path for plug-in filespublic PlugInRegistry(java.io.File directory, ApplicationContext applicationContext)
Method Detail |
---|
public java.lang.String getFileName()
public void setFileName(java.lang.String fileName)
public java.io.InputStream getInputStream()
public void setInputStream(java.io.InputStream inputStream)
public java.util.List<PlugIn> getPlugIns()
public void addExtensionPoint(java.lang.String extensionPoint)
public void addExtension(Extension extension)
public void removeExtension(Extension extension)
public java.util.List<Extension> getExtensions(java.lang.String id)
id
- external extension point id
public Extension getExtension(java.lang.String extensionPointId, java.lang.String extensionId)
public java.util.List<Extension> getExtensionByClass(java.lang.String extensionPointId, java.lang.String fqn)
extensionPointId
- fqn
- the fully qualified name of the class implementing the extension point
public static java.util.List createExtensionList(com.softwareag.cis.server.Adapter adapter, java.lang.String extptId, java.lang.Class<?> interfac)
adapter
- the adapter used to obtain application context and for error reportingextptId
- qualified id of extension pointinterfac
- the interface or class which must be implemented or extended by all extensions of given extension point
public static java.util.List createExtensionList(ApplicationContext ac, java.lang.String extptId, java.lang.Class<?> interfac)
ac
- application contextextptId
- qualified id of extension pointinterfac
- the interface or class which must be implemented or extended by all extensions of given extension point
public void registerClassLoader(PlugIn plugIn)
plugIn
- public void registerExtensionPoints(PlugIn plugIn)
public void registerExtensions(PlugIn plugIn)
plugIn
- public boolean checkPlugInRefs(PlugIn plugIn)
public PlugIn getPlugIn(java.lang.String plugInID)
public void parsePlugin(java.lang.String pluginFileName)
public void parsePlugin(java.io.InputStream inputStream)
public void addPlugIn(PlugIn plugIn)
public void removePlugIn(PlugIn plugIn)
public static java.lang.String createId(java.lang.String pluginId, java.lang.String extPointId)
public static java.lang.String extractPlugInId(java.lang.String extPointId)
public boolean getUsePluginClassLoader()
public java.lang.ClassLoader pushContextClassLoader(java.lang.String pluginId)
public java.lang.ClassLoader pushContextClassLoader(java.lang.ClassLoader newClassLoader)
newClassLoader
- the original thread context class loaderpublic java.lang.ClassLoader popContextClassLoader(java.lang.ClassLoader saveClassLoader)
saveClassLoader
- the original thread context class-loaderpublic void clear()
public void checkForCycles()
PlugInRegistry.CyclicDependencyException
- if there is a detected cycle
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |