Class AbstractBackendManager<T extends Backend>

java.lang.Object
org.episteme.core.technical.backend.AbstractBackendManager<T>
Type Parameters:
T - The type of backend being managed
Direct Known Subclasses:
AudioBackendManager, BackendManager, GraphBackendManager, LinearAlgebraBackendManager, MapBackendManager, MechanicsBackendManager, MolecularBackendManager, PlottingBackendManager, QuantumBackendManager, TensorBackendManager, VideoBackendManager, VisionBackendManager

public abstract class AbstractBackendManager<T extends Backend> extends Object
Abstract base class for managing a set of backends of a specific type.
Since:
1.2
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Field Details

    • logger

      protected final org.slf4j.Logger logger
    • backends

      protected final Map<String, T extends Backend> backends
    • defaultBackend

      protected T extends Backend defaultBackend
    • backendClass

      protected final Class<T extends Backend> backendClass
  • Constructor Details

    • AbstractBackendManager

      protected AbstractBackendManager(Class<T> backendClass)
  • Method Details

    • refresh

      public void refresh()
      Discovers and registers backends using ServiceLoader.
    • managerDefault

      public T managerDefault()
      Returns the current default backend instance.
      Returns:
      the default backend
    • managerSelect

      public T managerSelect(String name)
      Selects a specific backend by name or ID.
      Parameters:
      name - the backend name or ID
      Returns:
      the backend, or null if not found
    • managerSetDefault

      public void managerSetDefault(String name)
      Sets the default backend.
      Parameters:
      name - the backend name or ID
    • managerRegister

      public void managerRegister(T backend)
      Registers a backend manually.
      Parameters:
      backend - the backend to register
    • managerAll

      public Collection<T> managerAll()
      Returns all registered backends.
      Returns:
      collection of backends
    • managerNames

      public Collection<String> managerNames()
      Returns names of available backends.
    • selectBestBackend

      protected T selectBestBackend()
      Selects the best available backend based on priority.