|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface GrailsPluginManager
A class that 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 (@see grails.spring.BeanBuilder) to provide runtime configuration of Grails via Spring
The doWithContext closure is called after the Spring ApplicationContext is built and accepts a single argument (the ApplicationContext)
The doWithWebDescriptor uses mark-up building to provide additional functionality to the web.xml file
Example:
class ClassEditorGrailsPlugin {
def version = 1.1
def doWithSpring = { application ->
classEditor(org.springframework.beans.propertyeditors.ClassEditor, application.classLoader)
}
}
A plugin can also define "dependsOn" and "evict" properties that specify what plugins the plugin depends on and which ones it is incompatable with and should evict
| Field Summary | |
|---|---|
static String |
BEAN_NAME
|
| Method Summary | |
|---|---|
void |
checkForChanges()
Checks all the plugins to see whether they have any changes |
void |
doArtefactConfiguration()
Called prior to the initialisation of the GrailsApplication object to allow registration of additional ArtefactHandler objects |
void |
doDynamicMethods()
This is called on all plugins so that they can add new methods/properties/constructors etc. |
void |
doPostProcessing(ApplicationContext applicationContext)
Performs post initialization configuration for each plug-in, passing the built application context |
void |
doRuntimeConfiguration(RuntimeSpringConfiguration springConfig)
Executes the runtime configuration phase of plug-ins |
void |
doRuntimeConfiguration(String pluginName,
RuntimeSpringConfiguration springConfig)
Executes the runtime configuration for a specific plugin AND all its dependencies |
void |
doWebDescriptor(File descriptor,
Writer target)
|
void |
doWebDescriptor(Resource descriptor,
Writer target)
Takes the specified web descriptor reference and configures it with all the plugins outputting the result to the target Writer instance |
GrailsPlugin[] |
getAllPlugins()
Returns an array of all the loaded plug-ins |
GrailsPlugin |
getFailedPlugin(String name)
Retrieves a plug-in that failed to load, or null if it doesn't exist |
GrailsPlugin |
getGrailsPlugin(String name)
Retrieves a name Grails plugin instance |
GrailsPlugin |
getGrailsPlugin(String name,
Object version)
Retrieves a plug-in for its name and version |
Collection |
getPluginObservers(GrailsPlugin plugin)
Retrieves a collection of plugins that are observing the specified plugin |
boolean |
hasGrailsPlugin(String name)
|
void |
informObservers(String pluginName,
Map event)
inform the specified plugins observers of the event specified by the passsed Map instance |
boolean |
isInitialised()
|
void |
loadPlugins()
Performs the initial load of plug-ins throwing an exception if any dependencies don't resolve |
void |
refreshPlugin(String name)
Refreshes the specified plugin. |
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 |
void |
setApplication(GrailsApplication application)
Sets the GrailsApplication used be this plugin manager |
| Methods inherited from interface org.springframework.context.ApplicationContextAware |
|---|
setApplicationContext |
| Methods inherited from interface org.springframework.web.context.ServletContextAware |
|---|
setServletContext |
| Field Detail |
|---|
static final String BEAN_NAME
| Method Detail |
|---|
GrailsPlugin[] getAllPlugins()
void loadPlugins()
throws PluginException
PluginException - Thrown when an error occurs loading the pluginsvoid doRuntimeConfiguration(RuntimeSpringConfiguration springConfig)
springConfig - The RuntimeSpringConfiguration instancevoid doPostProcessing(ApplicationContext applicationContext)
applicationContext - The ApplicationContext instance
void doWebDescriptor(Resource descriptor,
Writer target)
descriptor - The Resource of the descriptortarget - The Writer to write the result to
void doWebDescriptor(File descriptor,
Writer target)
descriptor - The File of the descriptortarget - The target to write the changes todoWebDescriptor(Resource, Writer)void doDynamicMethods()
GrailsPlugin getGrailsPlugin(String name)
name - The name of the plugin
boolean hasGrailsPlugin(String name)
name - The name of the plugin
GrailsPlugin getFailedPlugin(String name)
name - The name of the plugin
GrailsPlugin getGrailsPlugin(String name,
Object version)
name - The name of the pluginversion - The version of the plugin
void doRuntimeConfiguration(String pluginName,
RuntimeSpringConfiguration springConfig)
pluginName - The name of he pluginspringConfig - The runtime spring config instancevoid checkForChanges()
void setApplication(GrailsApplication application)
application - The GrailsApplication instanceboolean isInitialised()
void refreshPlugin(String name)
name - The name of the plugin to refreshCollection getPluginObservers(GrailsPlugin plugin)
plugin - The plugin to retrieve observers for
void informObservers(String pluginName,
Map event)
pluginName - The name of the pluginevent - The eventvoid doArtefactConfiguration()
ArtefactHandlervoid registerProvidedArtefacts(GrailsApplication application)
application - The GrailsApplication object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||