Package org.exoplatform.webui.ext
Interface UIExtensionManager
- All Known Implementing Classes:
UIExtensionManagerImpl
public interface UIExtensionManager
This class is used to manage all the extensions available into the system.
The main target is to first add the ability to add new extension dynamically without
changing anything in the source code.
Created by The eXo Platform SAS
Author : eXoPlatform
nicolas.filotto@exoplatform.com
May 04, 2009
-
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks if all the filters pass, if one filter doesn't pass the method UIExtension.onDeny will be calledaddUIExtension(String extensionType, String extensionName, Map<String, Object> context, UIContainer parent) First check if the given extension exists, if so it checks if the extension can be added according (all filters that are mandatory) to the given context, if so it adds the extension to the parent and returns the extension otherwise it returnsnulladdUIExtension(UIExtension extension, Map<String, Object> context, UIContainer parent) It checks if the extension can be added (all filters that are mandatory) according to the given context, if so it adds the extension to the parent and returns the extension otherwise it returnsnullgetUIExtension(String type, String name) Give the extension corresponding to the given criteriagetUIExtensions(String type) Gives all the extensions related to the given typevoidregisterUIExtension(UIExtension extension) Register a new extensionvoidregisterUIExtensionPlugin(UIExtensionPlugin extensionPlugin) Register all the extensions defined into the UIExtensionPlugin
-
Method Details
-
addUIExtension
UIComponent addUIExtension(String extensionType, String extensionName, Map<String, Object> context, UIContainer parent) throws ExceptionFirst check if the given extension exists, if so it checks if the extension can be added according (all filters that are mandatory) to the given context, if so it adds the extension to the parent and returns the extension otherwise it returnsnull- Parameters:
extensionType- the type of the extension, usually it is the FQN of the component that displays the extensionextensionName- the name of the extension to addcontext- the context to check in order to know if the extension can be addedparent- the parent component to which the extension must be added- Returns:
- the component related to the extension if it can be added,
nullotherwise - Throws:
Exception- if an error occurs
-
addUIExtension
UIComponent addUIExtension(UIExtension extension, Map<String, Object> context, UIContainer parent) throws ExceptionIt checks if the extension can be added (all filters that are mandatory) according to the given context, if so it adds the extension to the parent and returns the extension otherwise it returnsnull- Parameters:
extension- the extension to addcontext- the context to check in order to know if the extension can be addedparent- the parent component to which the extension must be added- Returns:
- the component related to the extension if it can be added,
nullotherwise - Throws:
Exception- if an error occurs
-
accept
Checks if all the filters pass, if one filter doesn't pass the method UIExtension.onDeny will be called- Parameters:
extensionType- the type of the extension, usually it is the FQN of the component that displays the extensionextensionName- the name of the extension to addcontext- the context to check- Returns:
trueif all the filter could pass,falseotherwise
-
getUIExtensions
Gives all the extensions related to the given type- Parameters:
type- the type of the extension, usually it is the FQN of the component that displays the extension- Returns:
- a list of all the extensions that belongs to the given owner
-
getUIExtension
Give the extension corresponding to the given criteria- Parameters:
type- the type of the extension, usually it is the FQN of the component that displays the extensionname- the name of the extension to get- Returns:
- the corresponding UIExtension if it exists,
nullotherwise
-
registerUIExtension
Register a new extension- Parameters:
extension- the extension to register
-
registerUIExtensionPlugin
Register all the extensions defined into the UIExtensionPlugin- Parameters:
extensionPlugin- the plugin to treat
-