Interface DynamicExtension


public interface DynamicExtension
DSL extensions implementing this marker interface can be auto discovered by IPF's extension configuration framework.

This is an alternative to the standard Extension Module mechanism provided by Groovy Instead of a module descriptor in META-INF/services you simply define a Spring bean that extends this type and adheres to the structure described in http://docs.codehaus.org/display/GROOVY/Creating+an+extension+module.

This interface defines method that provide information that the module descriptor would usually deliver. Bean instance of this type are picked up by Spring when it contains a DynamicExtensionConfigurer and dynamically registered in Groovy's metaclass/metamethod registry.

The advantage is that due to late initialization your extensions can be stateful (e.g. providing a configuration object), which is normally only possible by accessing a global registry via ContextFacade.getBean(Class). The disadvantage is that you need to define a bunch of Spring beans (including the extension bean) in order to get the machinery working.

Author:
Christian Ohr
See Also:
  • Method Details

    • getModuleName

      String getModuleName()
    • getModuleVersion

      String getModuleVersion()
    • isStatic

      boolean isStatic()
      Returns:
      true if the extensions methods shall have static access from the extended class, false otherwise.