org.eclipse.wst.server.core.model
Class ModuleFactoryDelegate

java.lang.Object
  extended by org.eclipse.wst.server.core.model.ModuleFactoryDelegate
Direct Known Subclasses:
ProjectModuleFactoryDelegate

public abstract class ModuleFactoryDelegate
extends java.lang.Object

A module factory delegate provides a mechanism for discovering modules. A module factory delegate is specified by the class attribute of a moduleFactories extension.

When the module factory needs to be given a delegate, the delegate class specified for the module factory is instantiated with a 0-argument constructor.

Module factory delegates may keep state in instance fields, but that state is transient and will not be persisted across workbench sessions.

This abstract class is intended to be extended only by clients to extend the moduleFactories extension point.

Since:
1.0
See Also:
IModule, ModuleDelegate

Constructor Summary
ModuleFactoryDelegate()
          Delegates must have a public 0-arg constructor.
 
Method Summary
 void clearModuleCache()
          Deprecated. This method is implementation specific and never called by the framework. It shouldn't be part of the public API, but subclasses are still welcome to provide their own method to clear the cache.
 IModule findModule(java.lang.String id)
          Returns the module created by this factory that has the given id, or null if there is no module with the given id.
abstract  ModuleDelegate getModuleDelegate(IModule module)
          Creates the module delegate for a module with the given information.
abstract  IModule[] getModules()
          Return all modules created by this factory.
 IModule[] getModules(IProject project)
          Return all modules created by this factory that are contained within the given project.
 void initialize()
          Initializes this module factory delegate.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModuleFactoryDelegate

public ModuleFactoryDelegate()
Delegates must have a public 0-arg constructor.

Method Detail

initialize

public void initialize()
Initializes this module factory delegate. This method gives delegates a chance to do their own initialization.

This method is called by the server core framework. Clients should never call this method.


clearModuleCache

public void clearModuleCache()
Deprecated. This method is implementation specific and never called by the framework. It shouldn't be part of the public API, but subclasses are still welcome to provide their own method to clear the cache.

Clears the cache of modules returned by getModules(). Delegates can call this method if they know that the results of getModules() is invalid and should be refreshed.

See Also:
getModules()

getModuleDelegate

public abstract ModuleDelegate getModuleDelegate(IModule module)
Creates the module delegate for a module with the given information. This method is called when a client needs to access the module delegate associated with the given module.

Parameters:
module - a module
Returns:
the module delegate

getModules

public abstract IModule[] getModules()
Return all modules created by this factory.

This method is normally called by the web server core framework. Clients (other than the delegate) should never call this method.

A new array is returned on each call, so clients may store or modify the result.

Returns:
a possibly-empty array of modules IModule

getModules

public IModule[] getModules(IProject project)
Return all modules created by this factory that are contained within the given project. Subclasses should override this method if they do not need to filter through the entire project list.

This method is normally called by the web server core framework. Clients (other than the delegate) should never call this method.

A new array is returned on each call, so clients may store or modify the result.

Parameters:
project - a project
Returns:
a possibly-empty array of modules IModule
Since:
2.0

findModule

public IModule findModule(java.lang.String id)
Returns the module created by this factory that has the given id, or null if there is no module with the given id. The id must not be null.

Subclasses should override this method if they do not need to search through the entire project list.

This method is normally called by the web server core framework. Clients (other than the delegate) should never call this method.

Parameters:
id - a module id
Returns:
the module with the given id, or null if no module could be found IModule
Since:
2.0