Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

recoin.system
Class RuntimeManager  view RuntimeManager download RuntimeManager.java

java.lang.Object
  extended byrecoin.system.RuntimeManager

public class RuntimeManager
extends java.lang.Object

The RuntimeManager administrates and observes the runtime components of the application.

A RuntimeManager executes orders received from an ApplicationManager object. Because the RuntimeManager is a central object that holds references to all runtime components, all exceptions and logging is handled here.

Version:
0.2.9

Field Summary
private  ApplicationManager applicationManager
          The ApplicationManager that controls the application.
(package private) static org.apache.log4j.Logger logger
          The logger for this class.
private  java.util.Hashtable moduleGroups
          The ModuleGroups.
private  java.util.Hashtable properties
          The global properties that were set in the configuration file.
private  recoin.group.connector.AdminConnector remoteAdmin
          The remote administration service.
private  RepositoryManager repositoryManager
          The RepositoryManager to load and unload Module objects to and from the layers.
private  recoin.system.session.SessionManager sessionManager
          The SessionManager.
 
Constructor Summary
RuntimeManager(ApplicationManager aManager, java.util.Hashtable props, Repository rep)
          Creates a new RuntimeManager that is controlled by the specified ApplicationManager.
 
Method Summary
private  recoin.group.ModuleGroup createModuleGroup(java.lang.String groupname)
          Creates and returns a ModuleGroup for the specified groupname that is automatically populated with the Modules of the same groupname that have declared to be loaded on startup, i.e.
 void deployModule(recoin.group.Module module)
          Deploys the specfified Module to the ModuleGroup that has the same groupname.
 java.util.Hashtable getModuleGroups()
          Returns the ModuleGroups in a Hashtable where the groupnames are the keys.
 RepositoryManager getRepositoryManager()
          Returns the RepositoryManager that is used to access the repository.
 recoin.system.session.SessionManager getSessionManager()
          Returns the SessionManager.
private  java.util.Vector getStartupModules(java.util.Vector modules)
          Removes those modules from the specified Vector which have their activate field set to false and returns the resulting Vector.
 boolean loadComponent(recoin.group.Component component, int moduleID)
          Loads the specified Component into the Module with the specified ID.
 void undeployModule(int id)
          Undeploys the Module with the specified ID.
 boolean unloadComponent(int componentID, int moduleID)
          Unloads the specified Component from the Module with the specified ID.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

properties

private java.util.Hashtable properties
The global properties that were set in the configuration file.


sessionManager

private recoin.system.session.SessionManager sessionManager
The SessionManager.


applicationManager

private ApplicationManager applicationManager
The ApplicationManager that controls the application.


repositoryManager

private RepositoryManager repositoryManager
The RepositoryManager to load and unload Module objects to and from the layers.


remoteAdmin

private recoin.group.connector.AdminConnector remoteAdmin
The remote administration service.


moduleGroups

private java.util.Hashtable moduleGroups
The ModuleGroups.


logger

static org.apache.log4j.Logger logger
The logger for this class.

Constructor Detail

RuntimeManager

public RuntimeManager(ApplicationManager aManager,
                      java.util.Hashtable props,
                      Repository rep)
               throws recoin.exception.ClassLoadingException
Creates a new RuntimeManager that is controlled by the specified ApplicationManager. It is initiated with the specified properties and uses the data in the specified Repository by loading the RepositoryManager class that is declared in the Repository.

Method Detail

getModuleGroups

public java.util.Hashtable getModuleGroups()
Returns the ModuleGroups in a Hashtable where the groupnames are the keys.


getRepositoryManager

public RepositoryManager getRepositoryManager()
Returns the RepositoryManager that is used to access the repository.


getSessionManager

public recoin.system.session.SessionManager getSessionManager()
Returns the SessionManager.


getStartupModules

private java.util.Vector getStartupModules(java.util.Vector modules)
Removes those modules from the specified Vector which have their activate field set to false and returns the resulting Vector.


createModuleGroup

private recoin.group.ModuleGroup createModuleGroup(java.lang.String groupname)
Creates and returns a ModuleGroup for the specified groupname that is automatically populated with the Modules of the same groupname that have declared to be loaded on startup, i.e. have their activate field set to true.


loadComponent

public boolean loadComponent(recoin.group.Component component,
                             int moduleID)
Loads the specified Component into the Module with the specified ID. After locating the Module, the Component is added to the Module. If the Component had already been loaded previously, it is first removed and then added again, thus performing a reload.


unloadComponent

public boolean unloadComponent(int componentID,
                               int moduleID)
Unloads the specified Component from the Module with the specified ID. After locating the Module, the Component is removed from the Module and its initiated field is set to false.


deployModule

public void deployModule(recoin.group.Module module)
Deploys the specfified Module to the ModuleGroup that has the same groupname. After the Module is added to the ModuleGroup, it is activated.


undeployModule

public void undeployModule(int id)
Undeploys the Module with the specified ID. Because only the ID is used to locate the Module, all ModuleGroups are searched and any Modules with the same ID are removed. In general this shouldn't happen, because there should only be one ModuleGroup for each groupname.