Package org.bukkit.plugin
Interface ServicesManager
- All Known Implementing Classes:
- SimpleServicesManager
public interface ServicesManager
Manages services and service providers. Services are an interface
 specifying a list of methods that a provider must implement. Providers are
 implementations of these services. A provider can be queried from the
 services manager in order to use a service (if one is available). If
 multiple plugins register a service, then the service with the highest
 priority takes precedence.
- 
Method SummaryModifier and TypeMethodDescriptionCollection<Class<?>> Get a list of known services.<T> RegisteredServiceProvider<T> getRegistration(Class<T> service) Queries for a provider registration.<T> Collection<RegisteredServiceProvider<T>> getRegistrations(Class<T> service) Get registrations of providers for a service.getRegistrations(Plugin plugin) Get registrations of providers for a plugin.<T> booleanisProvidedFor(Class<T> service) Returns whether a provider has been registered for a service.<T> TQueries for a provider.<T> voidregister(Class<T> service, T provider, Plugin plugin, ServicePriority priority) Register a provider of a service.voidunregister(Class<?> service, Object provider) Unregister a particular provider for a particular service.voidunregister(Object provider) Unregister a particular provider.voidunregisterAll(Plugin plugin) Unregister all the providers registered by a particular plugin.
- 
Method Details- 
register<T> void register(@NotNull Class<T> service, @NotNull T provider, @NotNull Plugin plugin, @NotNull ServicePriority priority) Register a provider of a service.- Type Parameters:
- T- Provider
- Parameters:
- service- service class
- provider- provider to register
- plugin- plugin with the provider
- priority- priority of the provider
 
- 
unregisterAllUnregister all the providers registered by a particular plugin.- Parameters:
- plugin- The plugin
 
- 
unregisterUnregister a particular provider for a particular service.- Parameters:
- service- The service interface
- provider- The service provider implementation
 
- 
unregisterUnregister a particular provider.- Parameters:
- provider- The service provider implementation
 
- 
loadQueries for a provider. This may return null if no provider has been registered for a service. The highest priority provider is returned.- Type Parameters:
- T- The service interface
- Parameters:
- service- The service interface
- Returns:
- provider or null
 
- 
getRegistrationQueries for a provider registration. This may return null if no provider has been registered for a service.- Type Parameters:
- T- The service interface
- Parameters:
- service- The service interface
- Returns:
- provider registration or null
 
- 
getRegistrationsGet registrations of providers for a plugin.- Parameters:
- plugin- The plugin
- Returns:
- provider registrations
 
- 
getRegistrationsGet registrations of providers for a service. The returned list is unmodifiable.- Type Parameters:
- T- The service interface
- Parameters:
- service- The service interface
- Returns:
- list of registrations
 
- 
getKnownServicesGet a list of known services. A service is known if it has registered providers for it.- Returns:
- list of known services
 
- 
isProvidedForReturns whether a provider has been registered for a service. Do not check this first only to callload(service)later, as that would be a non-thread safe situation.- Type Parameters:
- T- service
- Parameters:
- service- service to check
- Returns:
- whether there has been a registered provider
 
 
-