Plugin interface that adds Spring org.springframework.beans.factory.config.BeanDefinitions
to a registry based on a GrailsApplication object. After all GrailsPlugin
classes
have been processed the org.springframework.beans.factory.config.BeanDefinitions in the registry are
loaded in a Spring org.springframework.context.ApplicationContext that's the singular
configuration unit of Grails applications.
It's up to implementation classes to determine where GrailsPlugin
instances are loaded
from.
Modifiers | Name | Description |
---|---|---|
java.lang.String |
ARTEFACTS |
Define the list of ArtefactHandlers supporting by the plugin |
java.lang.String |
DEPENDS_ON |
Defines the name of the property that specifies which plugins this plugin depends on |
java.lang.String |
DO_WITH_APPLICATION_CONTEXT |
Defines the name of the property that defines a closure that will be invoked after intialisation and when the application context has been built |
java.lang.String |
DO_WITH_DYNAMIC_METHODS |
|
java.lang.String |
DO_WITH_SPRING |
Defines the name of the property that defines the closure that will be invoked during runtime spring configuration |
java.lang.String |
DO_WITH_WEB_DESCRIPTOR |
Defines the name of the property that defines the closure that will be invoked when the web.xml is being generated |
java.lang.String |
ENVIRONMENTS |
The environments to which this plugin applies |
int |
EVENT_ON_CHANGE |
|
int |
EVENT_ON_CONFIG_CHANGE |
|
int |
EVENT_ON_SHUTDOWN |
|
java.lang.String |
EVICT |
Defines the name of the property that specifies a List or plugins that this plugin evicts Eviction occurs when the PluginManager loads |
java.lang.String |
OBSERVE |
The field that represents the plugin names that this plugin is observing for changes. |
java.lang.String |
ON_CHANGE |
Defines the name of the property that defines the closure that will be invoked when a watched resource changes |
java.lang.String |
ON_CONFIG_CHANGE |
Defines the name of the property that defines the closure that will be invoked when a the Grails configuration object changes |
java.lang.String |
ON_SHUTDOWN |
Defines the name of the property that holds a closure to be invoked when shutdown is called |
java.lang.String |
PLUGINS_PATH |
The prefix used in plug-ins paths |
java.lang.String |
PLUGIN_EXCLUDES |
The field that represents the list of resources to exclude from plugin packaging |
java.lang.String |
PLUGIN_LOAD_AFTER_NAMES |
The name of the property that provides a list of plugins this plugin should after before |
java.lang.String |
PLUGIN_LOAD_BEFORE_NAMES |
The name of the property that provides a list of plugins this plugin should load before |
java.lang.String |
PROVIDED_ARTEFACTS |
The name of the property that provides a list of shipped, but overridable artefacts |
java.lang.String |
SCOPES |
The scopes to which this plugin applies |
java.lang.String |
STATUS |
The status of the plugin. |
java.lang.String |
STATUS_DISABLED |
When a plugin is "disabled" it will not be loaded |
java.lang.String |
STATUS_ENABLED |
When a plugin is "enabled" it will be loaded as usual. |
java.lang.String |
TYPE_FILTERS |
The field that represents the list of type filters a plugin provides |
java.lang.String |
WATCHED_RESOURCES |
Defines the name of the property that specifies resources which this plugin monitors for changes in the format a Ant-style path |
Fields inherited from class | Fields |
---|---|
interface GrailsPluginInfo |
NAME, TRAILING_NAME, VERSION |
Type | Name and description |
---|---|
void |
addExclude(BuildScope buildScope) Makes the plugin excluded for a particular BuildScope |
void |
addExclude(Environment env) Makes the plugin excluded for a particular Environment |
boolean |
checkForChanges() When called this method checks for any changes to the plug-ins watched resources and reloads appropriately |
void |
doArtefactConfiguration() Called prior to the initialisation of the GrailsApplication instance to allow the registration of additonal ArtefactHandlers |
void |
doWithApplicationContext(org.springframework.context.ApplicationContext applicationContext) |
void |
doWithDynamicMethods(org.springframework.context.ApplicationContext applicationContext) Calls a "doWithDynamicMethods" closure that allows a plugin to register dynamic methods at runtime |
void |
doWithRuntimeConfiguration(RuntimeSpringConfiguration springConfig) Executes the plugin code that performs runtime configuration as defined in the doWithSpring closure |
void |
doWithWebDescriptor(org.w3c.dom.Element webXml) Handles processing of web.xml. |
void |
doc(java.lang.String text) Write some documentation to the DocumentationContext |
java.lang.String[] |
getDependencyNames() @return The names of the plugins this plugin is dependant on |
java.lang.String |
getDependentVersion(java.lang.String name) The version of the specified dependency |
java.lang.String[] |
getEvictionNames() @return The names of the plugins this plugin should evict onload |
java.lang.String |
getFileSystemName() Returns the name of the plugin as represented in the file system including the version. |
java.lang.String |
getFileSystemShortName() Returns the name of the plugin as represented on the file system without the version. |
groovy.lang.GroovyObject |
getInstance() Retrieves the wrapped plugin instance for this plugin |
java.lang.String[] |
getLoadAfterNames() Retrieves the names of plugins that this plugin should be loaded after. |
java.lang.String[] |
getLoadBeforeNames() Retrieves the names of plugins that this plugin should be loaded before. |
GrailsPluginManager |
getManager() Retrieves the plugin manager if known, otherwise returns null |
java.lang.String[] |
getObservedPluginNames() Retrieve the plugin names that this plugin is observing for changes |
java.lang.Class<?> |
getPluginClass() Returns the underlying class that represents this plugin |
java.util.List<java.lang.String> |
getPluginExcludes() A list of resources that the plugin should exclude from the packaged distribution |
java.lang.String |
getPluginPath() Returns the path of the plug-in |
java.lang.Class<?>[] |
getProvidedArtefacts() Retrieves an array of provided Artefacts that are pre-compiled additions to the GrailsApplication object but are overridable by the end-user |
java.util.Collection<? extends org.springframework.core.type.filter.TypeFilter> |
getTypeFilters() Plugin can provide a list of Spring TypeFilters so that annotated components can be scanned into the ApplicationContext |
java.util.List<WatchPattern> |
getWatchedResourcePatterns() Resources that this plugin watches |
boolean |
hasInterestInChange(java.lang.String path) Whether the plugin is interested in a particular change |
boolean |
isBasePlugin() Returns whether this plugin is loaded from the current plugin. |
boolean |
isEnabled() @return Whether the plugin is enabled or not |
void |
notifyOfEvent(java.util.Map event) Notifies this plugin of the specified Event calling the onChange listener |
java.util.Map |
notifyOfEvent(int eventKind, java.lang.Object source) Notifies the plugin of a specific event for the given event id, which is one of ON_CHANGE, ON_CONFIG_CHANGE |
void |
refresh() Refreshes this Grails plugin reloading any watched resources as necessary |
void |
setApplication(GrailsApplication application) |
void |
setBasePlugin(boolean isBase) Sets whether this plugin is the base plugin |
void |
setDescriptor(org.springframework.core.io.Resource descriptor) Sets the plugin descriptor for this plugin |
void |
setManager(GrailsPluginManager manager) Sets the plugin manager for this plugin |
boolean |
supportsCurrentScopeAndEnvironment() @return true if the current plugin supports the current BuildScope and Environment |
boolean |
supportsEnvironment(Environment environment) Returns whether this plugin supports the given environment name |
boolean |
supportsScope(BuildScope buildScope) Return whether this plugin supports the given PluginScope |
Methods inherited from class | Name |
---|---|
interface org.springframework.context.ApplicationContextAware |
org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext) |
interface java.lang.Comparable |
java.lang.Comparable#compareTo(java.lang.Object) |
interface GrailsPluginInfo |
getDescriptor, getFullName, getName, getPluginDir, getProperties, getVersion |
Define the list of ArtefactHandlers supporting by the plugin
Defines the name of the property that specifies which plugins this plugin depends on
Defines the name of the property that defines a closure that will be invoked after intialisation and when the application context has been built
Defines the name of the property that defines the closure that will be invoked during runtime spring configuration
Defines the name of the property that defines the closure that will be invoked when the web.xml is being generated
The environments to which this plugin applies
Defines the name of the property that specifies a List or plugins that this plugin evicts Eviction occurs when the PluginManager loads
The field that represents the plugin names that this plugin is observing for changes.
Defines the name of the property that defines the closure that will be invoked when a watched resource changes
Defines the name of the property that defines the closure that will be invoked when a the Grails configuration object changes
Defines the name of the property that holds a closure to be invoked when shutdown is called
The prefix used in plug-ins paths
The field that represents the list of resources to exclude from plugin packaging
The name of the property that provides a list of plugins this plugin should after before
The name of the property that provides a list of plugins this plugin should load before
The name of the property that provides a list of shipped, but overridable artefacts
The scopes to which this plugin applies
The status of the plugin.
When a plugin is "disabled" it will not be loaded
When a plugin is "enabled" it will be loaded as usual.
The field that represents the list of type filters a plugin provides
Defines the name of the property that specifies resources which this plugin monitors for changes in the format a Ant-style path
Makes the plugin excluded for a particular BuildScope
buildScope
- The BuildScopeMakes the plugin excluded for a particular Environment
env
- The EnvironmentWhen called this method checks for any changes to the plug-ins watched resources and reloads appropriately
Called prior to the initialisation of the GrailsApplication instance to allow the registration of additonal ArtefactHandlers
This method is called to allow the plugin to add org.springframework.beans.factory.config.BeanDefinitions to the org.springframework.beans.factory.support.BeanDefinitionRegistry.
applicationContext
- The Spring ApplicationContext instanceCalls a "doWithDynamicMethods" closure that allows a plugin to register dynamic methods at runtime
applicationContext
- The Spring ApplicationContext instanceExecutes the plugin code that performs runtime configuration as defined in the doWithSpring closure
springConfig
- The RuntimeSpringConfiguration instanceHandles processing of web.xml. The method is passed a GPathResult which is parsed by groovy.util.XmlSlurper. A plug-in can then manipulate the in-memory XML however it chooses Once all plug-ins have been processed the web.xml is then written to disk based on its in-memory form
webXml
- The GPathResult representing web.xmlWrite some documentation to the DocumentationContext
The version of the specified dependency
name
- the name of the dependency
Returns the name of the plugin as represented in the file system including the version. For example TagLibGrailsPlugin would result in "tag-lib-0.1"
Returns the name of the plugin as represented on the file system without the version. For example TagLibGrailsPlugin would result in "tag-lib"
Retrieves the wrapped plugin instance for this plugin
Retrieves the names of plugins that this plugin should be loaded after. This differs from dependencies in that if that plugin doesn't exist this plugin will still be loaded. It is a way of enforcing plugins are loaded before, but not necessarily needed
Retrieves the names of plugins that this plugin should be loaded before. As with getLoadAfterNames() it is not a requirement that the specified plugins exist
Retrieves the plugin manager if known, otherwise returns null
Retrieve the plugin names that this plugin is observing for changes
Returns the underlying class that represents this plugin
A list of resources that the plugin should exclude from the packaged distribution
Returns the path of the plug-in
Retrieves an array of provided Artefacts that are pre-compiled additions to the GrailsApplication object but are overridable by the end-user
Plugin can provide a list of Spring TypeFilters so that annotated components can be scanned into the ApplicationContext
Resources that this plugin watches
Whether the plugin is interested in a particular change
path
- The path to the resource that changedReturns whether this plugin is loaded from the current plugin. In other words when you execute grails run-app from a plugin project the plugin project's *GrailsPlugin.groovy file represents the base plugin and this method will return true for this plugin
Notifies this plugin of the specified Event calling the onChange listener
event
- The event to listen forNotifies the plugin of a specific event for the given event id, which is one of ON_CHANGE, ON_CONFIG_CHANGE
eventKind
- The event kindsource
- The source of the eventRefreshes this Grails plugin reloading any watched resources as necessary
Sets whether this plugin is the base plugin
isBase
- True if isSets the plugin descriptor for this plugin
descriptor
- The descriptorSets the plugin manager for this plugin
manager
- A GrailsPluginManager instance
Returns whether this plugin supports the given environment name
environment
- The environment nameReturn whether this plugin supports the given PluginScope
buildScope
- The PluginScope