Class AbstractThreadSafeComponentExtensionPoint<T>
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.runtime.plugin.component.AbstractThreadSafeComponentExtensionPoint<T>
-
- Type Parameters:
T- the type of the managed extensions
- All Implemented Interfaces:
LogEnabled,ExtensionPoint<T>,Disposable,Initializable,Component,Contextualizable,Serviceable,ThreadSafe
- Direct Known Subclasses:
AbstractClientSideExtensionPoint,AbstractSelectorExtensionPoint,AbstractTagProviderExtensionPoint,AccessControllerExtensionPoint,ActionExtensionPoint,AdditionalPropertyIndexerExtensionPoint,AdministratorNotificatorExtensionPoint,AllowedUsersActionAdditionalOperationsExtensionPoint,AmetysObjectFactoryExtensionPoint,AnalysisExtensionPoint,ApogeeExportExtensionPoint,ApplicationGlyphManager,ArchiverExtensionPoint,AutomaticNewsletterExtensionPoint,BackgroundEngineHookExtensionPoint,BackOfficeRequestProxyExtensionPoint,CatalogDataTypeExtensionPoint,CategoryProviderExtensionPoint,CDMfrExtensionPoint,CDMFrSyncExtensionPoint,ConfigParameterTypeExtensionPoint,ContentAttributeTypeExtensionPoint,ContentFilterExtensionPoint,ContentImporterExtensionPoint,ContentImporterExtensionPoint,ContentInputDataExtensionPoint,ContentTypeExtensionPoint,ContentVisibleAttachmentIndexerExtensionPoint,CopyCatalogUpdaterExtensionPoint,CopyUpdaterExtensionPoint,CredentialProviderParameterTypeExtensionPoint,DataSourceConsumerExtensionPoint,DataSourceFactoryExtensionPoint,DispatchProcessExtensionPoint,DocbookUpdateHandlerExtensionPoint,Document2ImagesConvertorPolicyExtensionPoint,DocumentProviderExtensionPoint,DynamicContentTypeDescriptorExtentionPoint,DynamicInformationProviderExtensionPoint,EventTypeExtensionPoint,ExplorerApplicationExtensionPoint,ExternalizableDataProviderExtensionPoint,ExternalizableMetadataProviderExtensionPoint,ExternalLogExtensionPoint,FrontCacheableResourceExtensionPoint,GetTokenExtensionPoint,GroupDirectoryParameterTypeExtensionPoint,HTMLUpdateHandlerExtensionPoint,InitExtensionPoint,InputDataExtensionPoint,JdbcParameterTypeExtensionPoint,JSASSResourceURIExtensionPoint,LinkDataTypeExtensionPoint,LivePopulatorExtensionPoint,ModelAwareBasicTypesExtensionPoint,MonitoringExtensionPoint,OaiSetExtensionPoint,ObserverExtensionPoint,OSEExportExtensionPoint,PageDataTypeExtensionPoint,PageElementCachePolicyExtensionPoint,PageFilterExtensionPoint,PageVisibleAttachmentIndexerExtensionPoint,PipelineSerializerModelExtensionPoint,PluginArchiverExtensionPoint,PopulationConsumerExtensionPoint,ProfileAssignmentStorageExtensionPoint,ProjectDataTypeExtensionPoint,QueryAdapterFOSearchExtensionPoint,RemoteUrlExtensionPoint,ReportExtensionPoint,ResourceDependenciesListExtensionPoint,ResourceHandlerProviderExtensionPoint,ResourceMetadataPopulatorExtensionPoint,ReturnableExtensionPoint,RibbonImportManager,RichTextConfigurationExtensionPoint,RightContextConvertorExtensionPoint,RunnableExtensionPoint,SassFunctionsProviderExtensionPoint,SchedulableExtensionPoint,SchedulableParameterTypeExtensionPoint,SchemaDefinitionProviderExtensionPoint,ScriptBindingExtensionPoint,SearchableExtensionPoint,SearchComponentExtensionPoint,SearchModuleExtensionPoint,SearchUIModelExtensionPoint,ServiceExtensionPoint,ServiceParameterTypeExtensionPoint,SiteConfigurationExtensionPoint,SiteDocumentProviderExtensionPoint,SiteParameterTypeExtensionPoint,SitePluginArchiverExtensionPoint,SiteTypesExtensionPoint,SkinParameterTypeExtensionPoint,SQLDatabaseTypeExtensionPoint,SupportedContextResourceUriExtensionPoint,SurveyElementDataTypeExtensionPoint,SynchronizingContentOperatorExtensionPoint,SystemPropertyExtensionPoint,TagTargetTypeExtensionPoint,TreeExtensionPoint,UnversionedDataTypeExtensionPoint,URIResolverExtensionPoint,UserDirectoryParameterTypeExtensionPoint,UserPreferencesExtensionPoint,VersionHandlerExtensionPoint,VersionStorageExtensionPoint,ViewParameterTypeExtensionPoint,WelcomeStepExtensionPoint,WidgetsManager,WorkspaceModuleExtensionPoint
public abstract class AbstractThreadSafeComponentExtensionPoint<T> extends AbstractLogEnabled implements ExtensionPoint<T>, Component, ThreadSafe, Serviceable, Initializable, Disposable, Contextualizable
Avalon based implementation of an ExtensionPoint.
Subclasses only need to calladdComponent()for each new extension.
-
-
Field Summary
Fields Modifier and Type Field Description protected ServiceManager_cocoonManagerAvalon service managerprotected Context_contextAvalon contextprivate Set<String>_idsprotected ThreadSafeComponentManager<T>_managerAvalon ComponentManager
-
Constructor Summary
Constructors Constructor Description AbstractThreadSafeComponentExtensionPoint()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddComponent(String pluginName, String featureName, String role, Class<? extends T> clazz, Configuration configuration)Adds a Component to the underlying ComponentManager.voidaddExtension(String id, String pluginName, String featureName, Configuration configuration)Add an extension to this point.voidcontextualize(Context context)voiddispose()TgetExtension(String id)Returns the named extensionSet<String>getExtensionsIds()Returns a Set containing the ids of all known extensionsbooleanhasExtension(String id)Returns true if the named extension existsvoidinitialize()voidinitializeExtensions()Finalize the initialization of the extensions.
This method is called after alladdExtension()calls.
This is the last step before the actual startup of the application.voidservice(ServiceManager manager)-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
-
-
-
Field Detail
-
_manager
protected ThreadSafeComponentManager<T> _manager
Avalon ComponentManager
-
_cocoonManager
protected ServiceManager _cocoonManager
Avalon service manager
-
-
Constructor Detail
-
AbstractThreadSafeComponentExtensionPoint
public AbstractThreadSafeComponentExtensionPoint()
-
-
Method Detail
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualizein interfaceContextualizable- Throws:
ContextException
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
initialize
public void initialize() throws Exception
- Specified by:
initializein interfaceInitializable- Throws:
Exception
-
dispose
public void dispose()
- Specified by:
disposein interfaceDisposable
-
addComponent
protected void addComponent(String pluginName, String featureName, String role, Class<? extends T> clazz, Configuration configuration) throws ComponentException
Adds a Component to the underlying ComponentManager. Each extension to this ExtensionPoint may be considered as a Component.- Parameters:
pluginName- Unique identifier for the plugin hosting the extensionfeatureName- The feature name (unique for a given pluginName).role- the Avalon roleclazz- the class of the componentconfiguration- the configuration of the component- Throws:
ComponentException- if an error occured whil setting up components
-
initializeExtensions
public void initializeExtensions() throws Exception
Description copied from interface:ExtensionPointFinalize the initialization of the extensions.
This method is called after alladdExtension()calls.
This is the last step before the actual startup of the application.- Specified by:
initializeExtensionsin interfaceExtensionPoint<T>- Throws:
Exception- if something wrong occurs
-
getExtension
public T getExtension(String id)
Description copied from interface:ExtensionPointReturns the named extension- Specified by:
getExtensionin interfaceExtensionPoint<T>- Parameters:
id- the unique id of the extension- Returns:
- the named extension
-
hasExtension
public boolean hasExtension(String id)
Description copied from interface:ExtensionPointReturns true if the named extension exists- Specified by:
hasExtensionin interfaceExtensionPoint<T>- Parameters:
id- the unique id of the extension- Returns:
- true if the named extension exists
-
addExtension
public void addExtension(String id, String pluginName, String featureName, Configuration configuration) throws ConfigurationException
Description copied from interface:ExtensionPointAdd an extension to this point. Each implementation knows the meaning of the given configuration.- Specified by:
addExtensionin interfaceExtensionPoint<T>- Parameters:
id- the unique identifier of the extension.pluginName- Unique identifier for the plugin hosting the extensionfeatureName- Unique feature identifier (unique for a given pluginName)configuration- the information about the extension to be added- Throws:
ConfigurationException- when a configuration problem occurs
-
getExtensionsIds
public Set<String> getExtensionsIds()
Description copied from interface:ExtensionPointReturns a Set containing the ids of all known extensions- Specified by:
getExtensionsIdsin interfaceExtensionPoint<T>- Returns:
- a Set containing the ids of all known extensions
-
-