Package org.codehaus.groovy.runtime.m12n

# Class StandardPropertiesModuleFactory

java.lang.Object
org.codehaus.groovy.runtime.m12n.PropertiesModuleFactory
org.codehaus.groovy.runtime.m12n.StandardPropertiesModuleFactory

public class StandardPropertiesModuleFactory extends PropertiesModuleFactory
This is the standard Groovy module factory. This factory will build a module using the `MetaInfExtensionModule` by default, unless a key named "moduleFactory" is found in the properties file. If this is the case, then a new factory is instantiated and used instead of this factory.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `MODULE_FACTORY_KEY`
  Property key in META-INF configuration file for specifying a custom module factory class.

  ### Fields inherited from class org.codehaus.groovy.runtime.m12n.PropertiesModuleFactory

  `MODULE_NAME_KEY, MODULE_VERSION_KEY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `StandardPropertiesModuleFactory()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ExtensionModule`
  `newModule(Properties properties, ClassLoader classLoader)`
  Creates a new extension module from the given properties.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### MODULE_FACTORY_KEY

    public static final String MODULE_FACTORY_KEY
    Property key in META-INF configuration file for specifying a custom module factory class. If specified, the factory class must extend PropertiesModuleFactory and have a no-arg constructor.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### StandardPropertiesModuleFactory

    public StandardPropertiesModuleFactory()

- ## Method Details

  - ### newModule

    public ExtensionModule newModule(Properties properties, ClassLoader classLoader)
    Creates a new extension module from the given properties. If the properties contain a custom factory class name under the key `MODULE_FACTORY_KEY`, that factory is instantiated and used. Otherwise, a `MetaInfExtensionModule` is created.
    Specified by:
      `newModule` in class `PropertiesModuleFactory`
    Parameters:
      `properties` - the module metadata properties
      `classLoader` - the class loader to use for loading extension classes and custom factory classes
    Returns:
      a new extension module
    Throws:
      `GroovyRuntimeException` - if the custom factory cannot be loaded or instantiated