Package helma.extensions

# Class HelmaExtension

java.lang.Object
helma.extensions.HelmaExtension

Direct Known Subclasses:
  `DemoExtension`

public abstract class HelmaExtension extends Object
Helma extensions have to subclass this. The extensions to be loaded are defined in `server.properties` by setting `extensions = packagename.classname, packagename.classname`.

## Constructor Summary

Constructors
Constructor
Description
`HelmaExtension()`

## Method Summary

Modifier and Type
Method
Description
`abstract void`
`applicationStarted(Application app)`
called when an Application is started.
`abstract void`
`applicationStopped(Application app)`
called when an Application is stopped.
`abstract void`
`applicationUpdated(Application app)`
called when an Application's properties are have been updated.
`abstract String`
`getName()`
`abstract void`
`init(Server server)`
called by the Server at startup time.
`abstract HashMap`
`initScripting(Application app, ScriptingEngine engine)`
called by the ScriptingEngine when it is initizalized.

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

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

## Constructor Details

### HelmaExtension

public HelmaExtension()

## Method Details

### init

public abstract void init(Server server) throws ConfigurationException
called by the Server at startup time. should check wheter the needed classes are present and throw a ConfigurationException if not.

Throws:
  `ConfigurationException`

### applicationStarted

public abstract void applicationStarted(Application app) throws ConfigurationException
called when an Application is started. This should be synchronized when any self-initialization is performed.

Throws:
  `ConfigurationException`

### applicationStopped

public abstract void applicationStopped(Application app)
called when an Application is stopped. This should be synchronized when any self-destruction is performed.

### applicationUpdated

public abstract void applicationUpdated(Application app)
called when an Application's properties are have been updated. note that this will be called at startup once *before* applicationStarted().

### initScripting

public abstract HashMap initScripting(Application app, ScriptingEngine engine) throws ConfigurationException
called by the ScriptingEngine when it is initizalized. Throws a ConfigurationException when this type of ScriptingEngine is not supported. New methods and prototypes can be added to the scripting environment. New global vars should be returned in a HashMap with pairs of varname and ESObjects. This method should be synchronized, if it performs any other self-initialization outside the scripting environment.

Throws:
  `ConfigurationException`

### getName

public abstract String getName()

Returns:
  ...