Package org.openstreetmap.josm.spi

This package contains services.
  • Abstract service interfaces and
  • manager classes to install a service provider and give access to the functionality of the service.
Client code will only depend on the classes from the spi package, but not on implementations of the service interface (service providers) which are found elsewhere.

The concept is similar to Java Service Provider Interfaces (hence the name), except the service providers are registered directly with a method call instead of using ServiceLoader to discover the providers on classpath.