public abstract class ServiceKernel extends Object
| Modifier | Constructor and Description |
|---|---|
protected |
ServiceKernel() |
| Modifier and Type | Method and Description |
|---|---|
protected <T extends IService> |
defineService(Class<? extends T> serviceClass,
Class<? extends T> implClass) |
protected <T extends IService,Q extends T> |
defineService(Class<? extends T> service,
Q defaultImplementation)
Defines a service provided by this ServiceKernel
|
protected abstract void |
defineServices()
Contains all the definitions of the services provided by this kernel
|
<T extends IService> |
getService(Class<? extends T> service) |
<T extends IService,Q extends T> |
redefineService_Privileged(Class<? extends T> service,
Q newProvider) |
<T extends IService,Q extends T> |
redefineService(Class<? extends T> service,
Q newProvider)
Overrides the default implemenation of the service with a different provider.
|
protected abstract void |
redefineServices()
Contains the redefinition logic for this kernel
|
protected void |
redefineServicesWithClass(String initClassName) |
protected void |
resetKernel() |
protected void resetKernel()
protected abstract void defineServices()
protected abstract void redefineServices()
public <T extends IService> T getService(Class<? extends T> service)
service - public <T extends IService,Q extends T> void redefineService(Class<? extends T> service, Q newProvider)
service - - the service to providenewProvider - - the new provider of this servicepublic <T extends IService,Q extends T> void redefineService_Privileged(Class<? extends T> service, Q newProvider)
protected <T extends IService> void defineService(Class<? extends T> serviceClass, Class<? extends T> implClass) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException
protected <T extends IService,Q extends T> void defineService(Class<? extends T> service, Q defaultImplementation)
service - - the service to providedefaultImplementation - - the default implementation of this serviceprotected void redefineServicesWithClass(String initClassName)
initClassName - a class name of a class that implements {@link ServiceKernelInit) and that will be created
and given a chance to redefine the service implementations in this kernel.Copyright © 2018. All rights reserved.