info.magnolia.module
Interface ModuleRegistry

All Known Implementing Classes:
ModuleRegistryImpl

public interface ModuleRegistry

Holds instances and definitions of modules.

Version:
$Revision: $ ($Author: $)
Author:
gjoseph

Nested Class Summary
static class ModuleRegistry.Factory
          Use this to retrieve the configured singleton impl of ModuleRegistry.
 
Method Summary
 ModuleDefinition getDefinition(String name)
           
<T> T
getModuleInstance(Class<T> moduleClass)
          Returns the module's instance.
 Object getModuleInstance(String name)
          Returns the module's instance.
 Set<String> getModuleNames()
          Returns the names of configured modules.
 ModuleVersionHandler getVersionHandler(String name)
           
 boolean isModuleRegistered(String name)
           
 void registerModuleDefinition(String name, ModuleDefinition moduleDefinition)
           
 void registerModuleInstance(String name, Object moduleInstance)
           
 void registerModuleVersionHandler(String name, ModuleVersionHandler moduleVersionHandler)
           
 

Method Detail

registerModuleDefinition

void registerModuleDefinition(String name,
                              ModuleDefinition moduleDefinition)

registerModuleInstance

void registerModuleInstance(String name,
                            Object moduleInstance)

registerModuleVersionHandler

void registerModuleVersionHandler(String name,
                                  ModuleVersionHandler moduleVersionHandler)

isModuleRegistered

boolean isModuleRegistered(String name)

getModuleInstance

Object getModuleInstance(String name)
Returns the module's instance. This is useful for modules which use a common class (i.e content or theme modules, which can typically co-exist in a system and have the same module class).

Throws:
IllegalArgumentException - if no such module is registered.
See Also:
for a type-safer method to get module instances

getModuleInstance

<T> T getModuleInstance(Class<T> moduleClass)
Returns the module's instance. This is useful for modules of known type.

Throws:
IllegalArgumentException - if no such module is registered or if multiple modules are registered for this class.

getVersionHandler

ModuleVersionHandler getVersionHandler(String name)
Throws:
IllegalArgumentException - if no such module is registered.

getDefinition

ModuleDefinition getDefinition(String name)
Throws:
IllegalArgumentException - if no such module is registered.

getModuleNames

Set<String> getModuleNames()
Returns the names of configured modules.

Returns:
unmodifiable set of module names


Copyright © 2003-2011 Magnolia International Ltd.. All Rights Reserved.