org.apache.hivemind.internal
Interface Module

All Superinterfaces:
Locatable
All Known Implementing Classes:
ModuleImpl

public interface Module
extends Locatable

The definition of a HiveMind Module. A Module is a container of service extension points and configuration extension points. It also acts as a "gateway" so that services and configurations in other modules may be accessed.

Author:
Howard Lewis Ship

Method Summary
 java.lang.String expandSymbols(java.lang.String input, Location location)
           
 ClassResolver getClassResolver()
          Returns the resource resolver for this module.
 java.util.List getConfiguration(java.lang.String configurationId)
          Returns the List of elements for the specified configuration point.
 ErrorHandler getErrorHandler()
          Returns the ErrorHandler for this Registry.
 java.util.Locale getLocale()
           
 Messages getMessages()
          Returns an object that can provide and format localized messages for this module.
 java.lang.String getModuleId()
          Returns the unique identifier for this module.
 java.lang.Object getService(java.lang.String serviceId, java.lang.Class serviceInterface)
          Looks up the ServicePoint (throwing an exception if not found) and invokes ServicePoint.getService(Class).
 ServiceModelFactory getServiceModelFactory(java.lang.String name)
           
 ServicePoint getServicePoint(java.lang.String serviceId)
          Returns the identified service extension point.
 Translator getTranslator(java.lang.String translator)
           
 
Methods inherited from interface org.apache.hivemind.Locatable
getLocation
 

Method Detail

getModuleId

public java.lang.String getModuleId()
Returns the unique identifier for this module.


getService

public java.lang.Object getService(java.lang.String serviceId,
                                   java.lang.Class serviceInterface)
Looks up the ServicePoint (throwing an exception if not found) and invokes ServicePoint.getService(Class).

Parameters:
serviceId - an unqualified id for a service within this module, or a fully qualified id for a service in this or any other module
serviceInterface - type the result will be cast to

getServicePoint

public ServicePoint getServicePoint(java.lang.String serviceId)
Returns the identified service extension point.

Parameters:
serviceId - an unqualified id for a service within this module, or a fully qualified id for a service in this or any other module
Throws:
ApplicationRuntimeException - if no such service extension point exists

getConfiguration

public java.util.List getConfiguration(java.lang.String configurationId)
Returns the List of elements for the specified configuration point. The returned List is unmodifiable. It may be empty, but won't be null.

It is expressly the caller's job to sort the elements into an appropriate order (a copy will have to be made since the returned List is unmodifiable).

Parameters:
configurationId - an unqualified id for a configuration within this module, or a fully qualified id for a configuration in this or any other module
Throws:
ApplicationRuntimeException - if this module does not contain the specified configuration extension point.

getClassResolver

public ClassResolver getClassResolver()
Returns the resource resolver for this module. The resource resolver is used to locate classes by name (using the correct classloader).


getMessages

public Messages getMessages()
Returns an object that can provide and format localized messages for this module. The messages come from a properties file, hivemodule.properties (localized) stored with the HiveMind deployment descriptor in the META-INF folder.


getTranslator

public Translator getTranslator(java.lang.String translator)
See Also:
RegistryInfrastructure.getTranslator(String)

getServiceModelFactory

public ServiceModelFactory getServiceModelFactory(java.lang.String name)
See Also:
RegistryInfrastructure.getServiceModelFactory(String)

getLocale

public java.util.Locale getLocale()
See Also:
Registry.getLocale()

expandSymbols

public java.lang.String expandSymbols(java.lang.String input,
                                      Location location)
See Also:
RegistryInfrastructure.expandSymbols(String, Location)

getErrorHandler

public ErrorHandler getErrorHandler()
Returns the ErrorHandler for this Registry.