Interface ProvideServiceEvent.EngineScoped<T,E extends Engine>

Type Parameters:
T - The service to provide.
E - The target engine.
All Superinterfaces:
BiGenericEvent<T,E>, Event, GenericEvent<T>, LifecycleEvent, ProvideServiceEvent<T>
Enclosing interface:
ProvideServiceEvent<T>

public static interface ProvideServiceEvent.EngineScoped<T,E extends Engine> extends ProvideServiceEvent<T>, BiGenericEvent<T,E>
Supplies a service that is scoped to the given Engine.

Engine scoped services have a lifetime of the attached Engine. If the engine is restarted, plugins will be asked to provide a new service.

It is up to the provider to determine which engine a service is to be supplied for. Services that are engine scoped may not support all engines. Plugins can check to see what Engine the service will be provided for via the ProvideServiceEvent.EngineScoped type parameter, and can choose to forgo providing a service based on this information.