public interface GrailsPluginManager extends org.springframework.context.ApplicationContextAware
Handles the loading and management of plug-ins in the Grails system. A plugin a just like a normal Grails application except that it contains a file ending in *Plugin.groovy in the root of the directory.
A Plugin class is a Groovy class that has a version and optionally closures called doWithSpring, doWithContext and doWithWebDescriptor
The doWithSpring closure uses the BeanBuilder syntax (
Type Params | Return Type | Name and description |
---|---|---|
|
public void |
checkForChanges() Checks all the plugins to see whether they have any changes |
|
public void |
doArtefactConfiguration() Called prior to the initialisation of the GrailsApplication object to allow registration of additional ArtefactHandler objects |
|
public void |
doDynamicMethods() Called on all plugins so that they can add new methods/properties/constructors etc. |
|
public void |
doPostProcessing(org.springframework.context.ApplicationContext applicationContext) Performs post initialization configuration for each plug-in, passing the built application context |
|
public void |
doRuntimeConfiguration(RuntimeSpringConfiguration springConfig) Executes the runtime configuration phase of plug-ins |
|
public void |
doRuntimeConfiguration(java.lang.String pluginName, RuntimeSpringConfiguration springConfig) Executes the runtime configuration for a specific plugin AND all its dependencies |
|
public GrailsPlugin[] |
getAllPlugins() Returns an array of all the loaded plug-ins |
|
public GrailsPlugin[] |
getFailedLoadPlugins()
|
|
public GrailsPlugin |
getFailedPlugin(java.lang.String name) Retrieves a plug-in that failed to load, or null if it doesn't exist |
|
public GrailsPlugin |
getGrailsPlugin(java.lang.String name) Retrieves a name Grails plugin instance |
|
public GrailsPlugin |
getGrailsPlugin(java.lang.String name, java.lang.Object version) Retrieves a plug-in for its name and version |
|
public GrailsPlugin |
getGrailsPluginForClassName(java.lang.String name) Obtains a GrailsPlugin for the given classname |
|
public GrailsPlugin |
getPluginForClass(java.lang.Class<?> theClass) Obtains the GrailsPlugin for the given class |
|
public GrailsPlugin |
getPluginForInstance(java.lang.Object instance) Looks up the plugin that defined the given instance. |
|
public java.util.Collection |
getPluginObservers(GrailsPlugin plugin) Retrieves a collection of plugins that are observing the specified plugin |
|
public java.lang.String |
getPluginPath(java.lang.String name) Returns the pluginContextPath for the given plugin |
|
public java.lang.String |
getPluginPath(java.lang.String name, boolean forceCamelCase) Returns the pluginContextPath for the given plugin and will force name to camel case instead of '-' lower case |
|
public java.lang.String |
getPluginPathForClass(java.lang.Class<? extends java.lang.Object> theClass) Returns the plugin path for the given class |
|
public java.lang.String |
getPluginPathForInstance(java.lang.Object instance) Returns the pluginContextPath for the given instance |
|
public java.lang.String |
getPluginViewsPathForClass(java.lang.Class<? extends java.lang.Object> theClass) Returns the plugin views directory path for the given class |
|
public java.lang.String |
getPluginViewsPathForInstance(java.lang.Object instance) Returns the plugin views directory for the given instance |
|
public java.util.List<org.springframework.core.type.filter.TypeFilter> |
getTypeFilters() Get all of the TypeFilter definitions defined by the plugins |
|
public GrailsPlugin[] |
getUserPlugins() Gets plugin installed by the user and not provided by the framework |
|
public boolean |
hasGrailsPlugin(java.lang.String name)
|
|
public void |
informObservers(java.lang.String pluginName, java.util.Map event) inform the specified plugins observers of the event specified by the passed Map instance |
|
public void |
informOfClassChange(java.lang.Class<?> aClass) Method for handling changes to a class and triggering on change events etc. |
|
public void |
informOfClassChange(java.io.File file, java.lang.Class cls) |
|
public void |
informOfFileChange(java.io.File file) Fire to inform the PluginManager that a particular file changes |
|
public void |
informPluginsOfConfigChange() Inform of a change in configuration |
|
public boolean |
isInitialised()
|
|
public boolean |
isShutdown() Indicates whether the manager has been shutdown or not |
|
public void |
loadPlugins() Performs the initial load of plug-ins throwing an exception if any dependencies don't resolve |
|
public void |
onStartup(java.util.Map<java.lang.String, java.lang.Object> event) Executes the Plugin.onStartup hook for all plugins |
|
public void |
refreshPlugin(java.lang.String name) Refreshes the specified plugin. |
|
public void |
registerProvidedArtefacts(GrailsApplication application) Registers pre-compiled artefacts with the GrailsApplication instance, only overriding if the application doesn't already provide an artefact of the same name. |
|
public void |
setApplication(GrailsApplication application) Sets the GrailsApplication used be this plugin manager |
|
public void |
setLoadCorePlugins(boolean shouldLoadCorePlugins) Set whether the core plugins should be loaded |
|
public void |
setPluginFilter(PluginFilter pluginFilter) Sets the filter to use to filter for plugins |
|
public void |
shutdown() Shuts down the PluginManager |
Methods inherited from class | Name |
---|---|
interface org.springframework.context.ApplicationContextAware |
org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext) |
Checks all the plugins to see whether they have any changes
Called prior to the initialisation of the GrailsApplication object to allow registration of additional ArtefactHandler objects
Called on all plugins so that they can add new methods/properties/constructors etc.
Performs post initialization configuration for each plug-in, passing the built application context
applicationContext
- The ApplicationContext instanceExecutes the runtime configuration phase of plug-ins
springConfig
- The RuntimeSpringConfiguration instanceExecutes the runtime configuration for a specific plugin AND all its dependencies
pluginName
- The name of he pluginspringConfig
- The runtime spring config instanceReturns an array of all the loaded plug-ins
Retrieves a plug-in that failed to load, or null if it doesn't exist
name
- The name of the pluginRetrieves a name Grails plugin instance
name
- The name of the pluginRetrieves a plug-in for its name and version
name
- The name of the pluginversion
- The version of the pluginObtains a GrailsPlugin for the given classname
name
- The name of the pluginObtains the GrailsPlugin for the given class
theClass
- The classLooks up the plugin that defined the given instance. If no plugin defined the instance then null is returned.
instance
- The instanceRetrieves a collection of plugins that are observing the specified plugin
plugin
- The plugin to retrieve observers forReturns the pluginContextPath for the given plugin
name
- The plugin nameReturns the pluginContextPath for the given plugin and will force name to camel case instead of '-' lower case my-plug-web would resolve to myPlugWeb if forceCamelCase is true.
name
- The plugin nameforceCamelCase
- Force camel case for nameReturns the plugin path for the given class
theClass
- The classReturns the pluginContextPath for the given instance
instance
- The instanceReturns the plugin views directory path for the given class
theClass
- The classReturns the plugin views directory for the given instance
instance
- The instanceGet all of the TypeFilter definitions defined by the plugins
Gets plugin installed by the user and not provided by the framework
name
- The name of the plugininform the specified plugins observers of the event specified by the passed Map instance
pluginName
- The name of the pluginevent
- The eventMethod for handling changes to a class and triggering on change events etc.
aClass
- The classFire to inform the PluginManager that a particular file changes
file
- The file that changedInform of a change in configuration
Indicates whether the manager has been shutdown or not
Performs the initial load of plug-ins throwing an exception if any dependencies don't resolve
Executes the Plugin.onStartup hook for all plugins
event
- the EventRefreshes the specified plugin. A refresh will force to plugin to "touch" each of its watched resources and fire modified events for each
name
- The name of the plugin to refreshRegisters pre-compiled artefacts with the GrailsApplication instance, only overriding if the application doesn't already provide an artefact of the same name.
application
- The GrailsApplication objectSets the GrailsApplication used be this plugin manager
application
- The GrailsApplication instanceSet whether the core plugins should be loaded
shouldLoadCorePlugins
- True if they shouldSets the filter to use to filter for plugins
pluginFilter
- The plugin filterShuts down the PluginManager