Class PluginOrchestrator

java.lang.Object
me.pauleff.converter.PluginOrchestrator

public final class PluginOrchestrator extends Object
Runs registered MOOCPlugins against a PluginContext in phased order.

Discovery plugins always run first. For conversion operations, the user must confirm before misc and conversion plugins execute. Paths declared by each plugin are resolved relative to the server root; only existing targets are passed to MOOCPlugin.run(PluginContext, List).

See Also:
  • Constructor Details

    • PluginOrchestrator

      public PluginOrchestrator()
      Creates an orchestrator that uses PluginRegistry.standard().
    • PluginOrchestrator

      public PluginOrchestrator(PluginRegistry registry)
      Creates an orchestrator that uses the given plugin registry.
      Parameters:
      registry - the registry supplying discovery, misc, and conversion plugins
      Throws:
      NullPointerException - if registry is null
  • Method Details

    • run

      public void run(PluginContext ctx)
      Executes the full plugin pipeline for the given context.

      Always runs discovery plugins. For conversion operations, aborts when an online conversion has an empty UUID map or when the user declines confirmation. Misc plugins then run; conversion plugins run only when a conversion was requested. If conversion discovers additional UUID mappings, UpdateDefaultServerFiles is reapplied.

      Parameters:
      ctx - the shared conversion context
      Throws:
      NullPointerException - if ctx is null, or if the server type is unset when conversion plugins run
      UnknownWorldFolderStructureException - if a plugin reports an unsupported world layout