Class BackendManager

java.lang.Object
org.episteme.core.technical.backend.AbstractBackendManager<Backend>
org.episteme.core.technical.backend.BackendManager

public class BackendManager extends AbstractBackendManager<Backend>
Global registry and manager for all discoverable backends.

Provides static access for backward compatibility and a general-purpose manager. This class manages instances of the base Backend type, while domain-specific managers (e.g., PlottingBackendManager, AudioBackendManager) extend AbstractBackendManager with their specific backend interfaces.

Relationship to BackendDiscovery: BackendDiscovery provides type-string based queries and user preference integration, primarily for UI backend selection panels. This class provides name-based lookup and explicit registration. The staticGetProvidersByType(String) method delegates to BackendDiscovery to avoid duplicating type-based filtering logic.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also:
  • Method Details

    • getInstance

      public static BackendManager getInstance()
      Returns the global singleton instance.
    • staticGetDefault

      public static Backend staticGetDefault()
      Returns the default backend.
    • staticSelect

      public static Backend staticSelect(String name)
      Selects a backend by name.
    • staticSetDefault

      public static void staticSetDefault(String name)
      Sets the default backend.
    • staticRegister

      public static void staticRegister(Backend backend)
      Registers a backend.
    • staticAvailableNames

      public static Collection<String> staticAvailableNames()
      Returns names of all registered backends.
    • staticAllBackends

      public static Collection<Backend> staticAllBackends()
      Returns all registered backends.
    • staticGetProvidersByType

      public static List<Backend> staticGetProvidersByType(String type)
      Returns providers by type using Discovery.