public abstract class BaseProviderRegistryService<T> extends java.lang.Object implements ProviderService<T>, ProviderRegistryService<T>
Framework
argumentModifier and Type | Field and Description |
---|---|
protected Framework |
framework |
protected java.util.HashMap<java.lang.String,T> |
instanceregistry |
protected java.util.HashMap<java.lang.String,java.lang.Class<? extends T>> |
registry |
Constructor and Description |
---|
BaseProviderRegistryService(Framework framework) |
BaseProviderRegistryService(Framework framework,
boolean cacheInstances) |
BaseProviderRegistryService(Framework framework,
java.util.Map<java.lang.String,java.lang.Class<? extends T>> classes) |
BaseProviderRegistryService(java.util.Map<java.lang.String,java.lang.Class<? extends T>> registry,
Framework framework,
boolean cacheInstances) |
Modifier and Type | Method and Description |
---|---|
CloseableProvider<T> |
closeableProviderOfType(java.lang.String providerName) |
protected T |
createProviderInstanceFromType(java.lang.Class<? extends T> execClass,
java.lang.String providerName) |
protected boolean |
hasValidProviderSignature(java.lang.Class clazz) |
boolean |
isCacheInstances() |
java.util.List<ProviderIdent> |
listProviders() |
T |
providerOfType(java.lang.String providerName)
Return the provider instance of the given name.
|
void |
registerClass(java.lang.String name,
java.lang.Class<? extends T> clazz)
Register a class for a provider
|
void |
registerInstance(java.lang.String name,
T object)
Register an instance for a provider
|
void |
setCacheInstances(boolean cacheInstances)
Set to true to enable instance registration cache
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName
protected java.util.HashMap<java.lang.String,java.lang.Class<? extends T>> registry
protected java.util.HashMap<java.lang.String,T> instanceregistry
protected final Framework framework
public BaseProviderRegistryService(Framework framework)
public BaseProviderRegistryService(Framework framework, boolean cacheInstances)
public BaseProviderRegistryService(Framework framework, java.util.Map<java.lang.String,java.lang.Class<? extends T>> classes)
public void registerClass(java.lang.String name, java.lang.Class<? extends T> clazz)
ProviderRegistryService
registerClass
in interface ProviderRegistryService<T>
name
- provider nameclazz
- classpublic void registerInstance(java.lang.String name, T object)
ProviderRegistryService
registerInstance
in interface ProviderRegistryService<T>
name
- providerobject
- objectpublic T providerOfType(java.lang.String providerName) throws ExecutionServiceException
providerOfType
in interface ProviderService<T>
providerName
- name of the service providerExecutionServiceException
- on errorpublic CloseableProvider<T> closeableProviderOfType(java.lang.String providerName) throws ExecutionServiceException
closeableProviderOfType
in interface ProviderService<T>
ExecutionServiceException
public java.util.List<ProviderIdent> listProviders()
listProviders
in interface ProviderService<T>
protected T createProviderInstanceFromType(java.lang.Class<? extends T> execClass, java.lang.String providerName) throws ProviderCreationException
ProviderCreationException
protected boolean hasValidProviderSignature(java.lang.Class clazz)
public boolean isCacheInstances()
isCacheInstances
in interface ProviderRegistryService<T>
public void setCacheInstances(boolean cacheInstances)
ProviderRegistryService
setCacheInstances
in interface ProviderRegistryService<T>