Package org.codehaus.groovy.runtime.m12n

# Class PropertiesModuleFactory

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

Direct Known Subclasses:
  `StandardPropertiesModuleFactory`

public abstract class PropertiesModuleFactory extends Object
This is the base class for classes responsible for creating modules using properties.

Since:
  2.0.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `MODULE_NAME_KEY`
  Property key in META-INF configuration file for specifying the module name.
  `static final String`
  `MODULE_VERSION_KEY`
  Property key in META-INF configuration file for specifying the module version.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PropertiesModuleFactory()`

- ## Method Summary

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

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

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

- ## Field Details

  - ### MODULE_NAME_KEY

    public static final String MODULE_NAME_KEY
    Property key in META-INF configuration file for specifying the module name.
    See Also:
      - Constant Field Values

  - ### MODULE_VERSION_KEY

    public static final String MODULE_VERSION_KEY
    Property key in META-INF configuration file for specifying the module version.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### PropertiesModuleFactory

    public PropertiesModuleFactory()

- ## Method Details

  - ### newModule

    public abstract ExtensionModule newModule(Properties properties, ClassLoader classLoader)
    Creates a new extension module from the given properties and class loader. Implementations are responsible for parsing the properties and creating an appropriate module instance.
    Parameters:
      `properties` - the module metadata properties
      `classLoader` - the class loader to use for loading extension classes
    Returns:
      a new extension module