Class BackendDiscovery

java.lang.Object
org.episteme.core.technical.backend.BackendDiscovery

public class BackendDiscovery extends Object
Utility for discovering and accessing backends of different types.

This class provides type-based backend lookup using string type constants (e.g., TYPE_PLOTTING, TYPE_TENSOR). It is the primary entry point for UI code that needs to enumerate, filter, and select backends by category. It also integrates with UserPreferences for persistent user preferences.

Relationship to BackendManager / AbstractBackendManager: Domain-specific managers (e.g., PlottingBackendManager, AudioBackendManager) extend AbstractBackendManager for typed management with registration and default selection. BackendDiscovery complements this by providing cross-cutting, type-string based queries used in the settings UI. Both use ServiceLoader independently, which is intentional — domain managers load their specific subtypes (e.g., PlottingBackend), while this class loads the generic Backend service.

Since:
1.2
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also: