Class ConnectionStrategyRegistry

java.lang.Object
com.lucimber.dbus.connection.ConnectionStrategyRegistry

public final class ConnectionStrategyRegistry extends Object
Registry for connection strategies that automatically selects the appropriate strategy based on the socket address type and platform availability.

This registry allows pluggable transport implementations while maintaining a clean abstraction for connection creation.

  • Constructor Details

    • ConnectionStrategyRegistry

      public ConnectionStrategyRegistry()
      Creates a new registry with the default set of strategies.
    • ConnectionStrategyRegistry

      public ConnectionStrategyRegistry(List<ConnectionStrategy> strategies)
      Creates a new registry with the specified strategies.
      Parameters:
      strategies - the initial list of strategies
  • Method Details

    • registerStrategy

      public void registerStrategy(ConnectionStrategy strategy)
      Registers a new connection strategy.
      Parameters:
      strategy - the strategy to register
    • findStrategy

      public Optional<ConnectionStrategy> findStrategy(SocketAddress address)
      Finds the first available strategy that supports the given socket address.
      Parameters:
      address - the socket address to find a strategy for
      Returns:
      the strategy if found, empty otherwise
    • getAllStrategies

      public List<ConnectionStrategy> getAllStrategies()
      Gets all registered strategies.
      Returns:
      unmodifiable list of all strategies
    • getAvailableStrategies

      public List<ConnectionStrategy> getAvailableStrategies()
      Gets all available strategies (those that can be used on this platform).
      Returns:
      list of available strategies