Package com.unitesk.aspectrace.ref
Class ContextProviderRegistry<T extends ReportEntity>
- java.lang.Object
-
- com.unitesk.aspectrace.ref.ContextProviderRegistry<T>
-
- Type Parameters:
T
- тип элементов отчёта
public class ContextProviderRegistry<T extends ReportEntity> extends java.lang.Object
Реестр компонентов-поставщиков контекстной информации. Поддерживает список зарегистрированных поставщиков и обеспечивает доступ к ним компонентов, нуждающихся в контекстной информации.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]
ALL
Маркер, обозначающий запрос ко всем зарегистрированным поставщикам, независимо от их имён.protected java.util.Map<java.lang.String,ContextProvider<T>>
providers
-
Constructor Summary
Constructors Constructor Description ContextProviderRegistry()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ContextProvider<T>[]
getAllProviders()
java.lang.String[]
getNames()
ContextProvider<T>
getProvider(java.lang.String name)
ContextProvider<T>
getProxyProvider(java.lang.String[] providerNames, java.lang.Class<T> targetClass)
Получить поставщика-посредника, собирающего контекстную информацию от группы зарегистрированных поставщиков.void
registerProvider(java.lang.String name, ContextProvider<T> provider)
void
unregisterProvider(java.lang.String name)
-
-
-
Field Detail
-
ALL
public static final java.lang.String[] ALL
Маркер, обозначающий запрос ко всем зарегистрированным поставщикам, независимо от их имён.
-
providers
protected java.util.Map<java.lang.String,ContextProvider<T extends ReportEntity>> providers
-
-
Method Detail
-
registerProvider
public void registerProvider(java.lang.String name, ContextProvider<T> provider)
-
unregisterProvider
public void unregisterProvider(java.lang.String name)
-
getProvider
public ContextProvider<T> getProvider(java.lang.String name)
-
getAllProviders
public ContextProvider<T>[] getAllProviders()
-
getNames
public java.lang.String[] getNames()
-
getProxyProvider
public ContextProvider<T> getProxyProvider(java.lang.String[] providerNames, java.lang.Class<T> targetClass)
Получить поставщика-посредника, собирающего контекстную информацию от группы зарегистрированных поставщиков.- Parameters:
providerNames
- Имена интересующих поставщиков контекстной. информации. Поставщики с такими именами не обязаны присутствовать в реестре ни на момент вызова данного метода, ни на момент опроса полученного поставщика. ЗначениеALL
обозначает сбор информации ото всех провайдеров в том порядке, в котором они зарегистрированы.targetClass
- (Особенности Java) необходимо указать тот класс, которым параметризован данный реестр. Сгенерированный поставщик будет возвращать массивы объектов этого класса.- Returns:
- Постащик, собирающий с указанных поставщиков из реестра контекстную информацию и возвращающий её единым списком. Порядок возвращаемых по запросу элементов отчёта соответствует указанному порядку поставщиков, а также порядку возвращаемых ими контекстных элементов.
-
-