Module jEdit

Class OneTimeMigrationService

java.lang.Object
org.jedit.migration.OneTimeMigrationService
All Implemented Interfaces:
MigrationService
Direct Known Subclasses:
CheckFileStatus

public abstract class OneTimeMigrationService extends Object implements MigrationService
Base class from which one can more easily implement a migration step that should be executed only once per installation.

Concrete implementations of this class should register themselves in services.xml. jEdit will call doMigration() on each object, which will skip the ones that have been done before.

The time that these services are automatically executed by jEdit is during the "initializing properties" step. This means that implementations that need to update or remove certain properties during upgrades can take advantage of this class.

NOTE: This happens after plugins are started, which might be too late for some plugins, such as the XMLPlugin, so using the services API to start them is not always desireable.

Example:

    <SERVICE CLASS="org.jedit.migration.OneTimeMigrationService" NAME="checkFileStatus" >
          new org.jedit.migration.CheckFileStatus();
        </SERVICE>
        
Since:
jEdit 5.1
Author:
Alan Ezust
  • Field Details

    • name

      protected String name
  • Constructor Details

    • OneTimeMigrationService

      protected OneTimeMigrationService(String name)
      Parameters:
      name - of this service. Used to identify and determine if it's been done eariler.
  • Method Details

    • execute

      public static void execute()
      Performs doMigrate() on each installed OneTimeMigrationService
    • doMigration

      public void doMigration()
      Calls migrate() but only once per installation.