Package com.io7m.coffeepick.repository.spi

# Class RuntimeRepositoriesOSGiProvider

java.lang.Object
com.io7m.coffeepick.repository.spi.RuntimeRepositoriesOSGiProvider

All Implemented Interfaces:
  `RuntimeRepositoryProviderRegistryType`

    public final class RuntimeRepositoriesOSGiProvider
    extends java.lang.Object
    implements RuntimeRepositoryProviderRegistryType

An OSGi-based repository registry.

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `RuntimeRepositoriesOSGiProvider()` | Construct an empty registry.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `io.reactivex.rxjava3.core.Observable<RuntimeRepositoryProviderRegistryEventType>` | `events()` |
  `void` | `onRepositoryAdded​(RuntimeRepositoryProviderType provider)` | A repository provider became available.
  `void` | `onRepositoryRemoved​(RuntimeRepositoryProviderType provider)` | A repository provider became unavailable.
  `java.util.Map<java.net.URI,​RuntimeRepositoryProviderType>` | `repositoryProviders()` |

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### RuntimeRepositoriesOSGiProvider

    public RuntimeRepositoriesOSGiProvider()
    Construct an empty registry.

- ## Method Details

  - ### onRepositoryAdded

    public void onRepositoryAdded​(RuntimeRepositoryProviderType provider)
    A repository provider became available.
    Parameters:
      `provider` - The repository provider

  - ### onRepositoryRemoved

    public void onRepositoryRemoved​(RuntimeRepositoryProviderType provider)
    A repository provider became unavailable.
    Parameters:
      `provider` - The repository provider

  - ### events

    public io.reactivex.rxjava3.core.Observable<RuntimeRepositoryProviderRegistryEventType> events()
    Specified by:
      `events` in interface `RuntimeRepositoryProviderRegistryType`
    Returns:
      A stream of events indicating repository changes

  - ### repositoryProviders

    public java.util.Map<java.net.URI,​RuntimeRepositoryProviderType> repositoryProviders()
    Specified by:
      `repositoryProviders` in interface `RuntimeRepositoryProviderRegistryType`
    Returns:
      The currently available repository providers