Thema dieser Dokumentation / Das FirstSpirit 5 Modul- / Komponenten-Modell / Event-Methoden von Komponenten
Event-Methoden von Komponenten
Jede Komponente (mit Ausnahme der SwingGadgets), die ihr spezifisches Interface implementiert, muss auf bestimmte Ereignisse wie Installation, Deinstallation und Aktualisierung durch Benutzer im FirstSpirit ServerManager reagieren (vgl. Modul-Ereignisbehandlung) und verwendet dazu die folgenden Event-Methoden:
- public void init(D descriptor, E env): Initialisierung der Komponente und ggf. vorhandener Konfigurationsoberflächen (siehe auch Initialisierung von Komponenten).
- public void installed(): Diese Methode wird aufgerufen, nachdem die Komponente bzw. das Modul erfolgreich auf dem FirstSpirit-Server installiert wurde.
- public void uninstalling(): Diese Methode wird aufgerufen, wenn die Komponente deinstalliert wird.
- public void updated(final String oldVersionString): Diese Methode wird aufgerufen, wenn die Komponente auf dem FirstSpirit-Server aktualisiert wird.
Listing: Komponenten Event-Methoden – installed, updated, uninstalled
/**
* Initializes this component with the given
* {@link de.espirit.firstspirit.module.descriptor.ComponentDescriptor descriptor}
* and {@link de.espirit.firstspirit.module.ServerEnvironment environment}.
* No other method will be called before the component is initialized!
*
* @param descriptor useful descriptor information for this component.
* @param env useful environment information for this component.
*/
public void init(final ServiceDescriptor descriptor, final ServerEnvironment env) {
_environment = env;
}
/** Event method: called if Component was successfully installed (not updated!) */
public void installed() {
copyConfigFile(getConfigFileName()); // NON-NLS
Logging.logDebug(getName() + " installed...", LOGGER); // NON-NLS
appendLog("installed"); // NON-NLS
}
/** Event method: called if Component was in uninstalling procedure */
public void uninstalling() {
Logging.logDebug(getName() + " uinstalling...", LOGGER); // NON-NLS
}
/**
* Event method: called if Component was completely updated
*
* @param oldVersionString old version, before component was updated
*/
public void updated(final String oldVersionString) {
// e.g. merge, diff, bkup the config file or do not overwrite
copyConfigFile(getConfigFileName()); // NON-NLS
Logging.logDebug(getName() + " updated...", LOGGER); // NON-NLS
appendLog("updated"); // NON-NLS
}
Beispiel siehe:
- Implementierung der SERVICE Basis-Komponente
- Implementierung einer Webanwendung (siehe WebApp.java).