## helma.extensions
Class HelmaExtension

    java.lang.Object
      helma.extensions.HelmaExtension

Direct Known Subclasses:
  DemoExtension

    public abstract class HelmaExtension

extends java.lang.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
`HelmaExtension()`

Method Summary
`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 java.lang.String` `getName()`
`abstract void` `init(Server server)` called by the Server at startup time.
`abstract java.util.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 Detail

### HelmaExtension

    public HelmaExtension()

Method Detail

### 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 java.util.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 java.lang.String getName()

  Returns:
    ...

Copyright © 1998-1998-${year} Helma.org. All Rights Reserved.