public class ExtensibilityContainer extends RepositoryContainer implements org.springframework.extensions.surf.extensibility.HandlesExtensibility
A simple extensibility Container for processing WebScripts. This extends the RepositoryContainer and
implements the HandlesExtensibility interface to provide extensibility capabilities.
| Constructor and Description |
|---|
ExtensibilityContainer() |
| Modifier and Type | Method and Description |
|---|---|
void |
addExtensibilityDirectives(java.util.Map freeMarkerModel,
org.springframework.extensions.surf.extensibility.ExtensibilityModel extModel)
Adds the <
@markup> directive to the container which allows FreeMarker templates to be extended. |
void |
addExtensionBundleToCache(java.lang.String webScriptId,
org.springframework.extensions.webscripts.WebScriptPropertyResourceBundle extensionBundle)
Adds a new extended bundle to the cache.
|
void |
closeExtensibilityModel(org.springframework.extensions.surf.extensibility.ExtensibilityModel model,
java.io.Writer out)
Flushes the
ExtensibilityModel provided and sets its parent as the current ExtensibilityModel
for the current thread. |
void |
executeScript(org.springframework.extensions.webscripts.WebScriptRequest scriptReq,
org.springframework.extensions.webscripts.WebScriptResponse scriptRes,
org.springframework.extensions.webscripts.Authenticator auth)
Opens a new
ExtensibilityModel, defers execution to the extended RepositoryContainer and
then closes the ExtensibilityModel. |
java.util.ResourceBundle |
getCachedExtendedBundle(java.lang.String webScriptId)
Checks the cache to see if it has cached an extended bundle (that is a basic
ResourceBundle that
has had extension modules applied to it. |
org.springframework.extensions.surf.extensibility.ExtensibilityModel |
getCurrentExtensibilityModel()
Returns the
ExtensibilityModel for the current thread. |
java.util.List |
getEvaluatedModules()
Retrieve the list of
ExtensionModule instances that have been evaluated as applicable
for the current request. |
org.springframework.extensions.webscripts.ScriptConfigModel |
getExtendedScriptConfigModel(java.lang.String xmlConfig)
Creates a new
ExtendedScriptConfigModel instance using the local configuration generated for this request. |
org.springframework.extensions.webscripts.TemplateConfigModel |
getExtendedTemplateConfigModel(java.lang.String xmlConfig)
Creates a new
TemplateConfigModel instance using the local configuration generated for this request. |
java.util.List |
getExtendingModuleFiles(java.lang.String pathBeingProcessed)
Retrieves an files for the evaluated modules that are extending the WebScript files being processed.
|
java.lang.String |
getFileBeingProcessed()
Returns the path of the file currently being processed in the model by the current thread.
|
org.springframework.extensions.surf.extensibility.ExtensibilityModel |
openExtensibilityModel()
Creates a new
ExtensibilityModel and sets it on the current thread |
void |
setExtensibilityModuleHandler(org.springframework.extensions.surf.extensibility.WebScriptExtensibilityModuleHandler extensibilityModuleHandler)
Sets the
WebScriptExtensibilityModuleHandler for this Container. |
void |
setFileBeingProcessed(java.lang.String file)
Sets the path of the file currently being processed in the model by the current thread.
|
void |
updateExtendingModuleDependencies(java.lang.String pathBeingProcessed,
java.util.Map model)
This method is implemented to perform no action as it is not necessary for a standalone WebScript
container to add dependencies for processing.
|
authenticate, destroy, getDescription, getRegistry, getRequiredAuthentication, getScriptParameters, getTemplateParameters, init, onApplicationEvent, onDisableTenant, onEnableTenant, reset, setAuthorityService, setDescriptorService, setFallbackTransactionHelper, setRegistryFactory, setRepository, setRepositoryImageResolver, setTenantAdminService, setTransactionHelper, setWebScriptsRegistryCache, transactionedExecuteallowCallbacks, getApplicationContext, getConfigService, getFormatRegistry, getName, getScriptParameterFactoryRegistry, getScriptProcessorRegistry, getSearchPath, getTemplateProcessorRegistry, setAllowCallbacks, setApplicationContext, setConfigService, setFormatRegistry, setName, setRegistry, setScriptObjects, setScriptParameterFactoryRegistry, setScriptProcessorRegistry, setSearchPath, setTemplateObjects, setTemplateProcessorRegistrypublic void executeScript(org.springframework.extensions.webscripts.WebScriptRequest scriptReq,
org.springframework.extensions.webscripts.WebScriptResponse scriptRes,
org.springframework.extensions.webscripts.Authenticator auth)
throws java.io.IOException
Opens a new ExtensibilityModel, defers execution to the extended RepositoryContainer and
then closes the ExtensibilityModel.
executeScript in interface org.springframework.extensions.webscripts.RuntimeContainerexecuteScript in class RepositoryContainerjava.io.IOExceptionpublic void setExtensibilityModuleHandler(org.springframework.extensions.surf.extensibility.WebScriptExtensibilityModuleHandler extensibilityModuleHandler)
Sets the WebScriptExtensibilityModuleHandler for this Container.
extensibilityModuleHandler - public org.springframework.extensions.surf.extensibility.ExtensibilityModel openExtensibilityModel()
Creates a new ExtensibilityModel and sets it on the current thread
openExtensibilityModel in interface org.springframework.extensions.surf.extensibility.HandlesExtensibilitypublic void closeExtensibilityModel(org.springframework.extensions.surf.extensibility.ExtensibilityModel model,
java.io.Writer out)
Flushes the ExtensibilityModel provided and sets its parent as the current ExtensibilityModel
for the current thread.
closeExtensibilityModel in interface org.springframework.extensions.surf.extensibility.HandlesExtensibilitypublic org.springframework.extensions.surf.extensibility.ExtensibilityModel getCurrentExtensibilityModel()
Returns the ExtensibilityModel for the current thread.
getCurrentExtensibilityModel in interface org.springframework.extensions.surf.extensibility.HandlesExtensibilitypublic void updateExtendingModuleDependencies(java.lang.String pathBeingProcessed,
java.util.Map model)
This method is implemented to perform no action as it is not necessary for a standalone WebScript container to add dependencies for processing.
updateExtendingModuleDependencies in interface org.springframework.extensions.surf.extensibility.HandlesExtensibilitypublic java.util.ResourceBundle getCachedExtendedBundle(java.lang.String webScriptId)
Checks the cache to see if it has cached an extended bundle (that is a basic ResourceBundle that
has had extension modules applied to it. Extended bundles can only be safely cached once per request as the modules
applied can vary for each request.
getCachedExtendedBundle in interface org.springframework.extensions.surf.extensibility.HandlesExtensibilitywebScriptId - The id of the WebScript to retrieve the extended bundle for.null if the bundle has not previously been cached.public void addExtensionBundleToCache(java.lang.String webScriptId,
org.springframework.extensions.webscripts.WebScriptPropertyResourceBundle extensionBundle)
Adds a new extended bundle to the cache. An extended bundle is a WebScript ResourceBundle that has had
ResourceBundle instances merged into it from extension modules that have been applied. These can only be cached
for the lifetime of the request as different modules may be applied to the same WebScript for different requests.
addExtensionBundleToCache in interface org.springframework.extensions.surf.extensibility.HandlesExtensibilitywebScriptId - The id of the WebScript to cache the extended bundle against.extensionBUndle - The extended bundle to cache.public java.lang.String getFileBeingProcessed()
Returns the path of the file currently being processed in the model by the current thread. This information is primarily provided for the purposes of generating debug information.
getFileBeingProcessed in interface org.springframework.extensions.surf.extensibility.HandlesExtensibilitypublic void setFileBeingProcessed(java.lang.String file)
Sets the path of the file currently being processed in the model by the current thread. This information should be collected to assist with providing debug information.
setFileBeingProcessed in interface org.springframework.extensions.surf.extensibility.HandlesExtensibilityfile - The path of the file currently being processed.public java.util.List getExtendingModuleFiles(java.lang.String pathBeingProcessed)
Retrieves an files for the evaluated modules that are extending the WebScript files being processed.
getExtendingModuleFiles in interface org.springframework.extensions.surf.extensibility.HandlesExtensibilitypublic java.util.List getEvaluatedModules()
Retrieve the list of ExtensionModule instances that have been evaluated as applicable
for the current request. If this list has not yet been populated then use the ExtensibilityModuleHandler
configured in the Spring application context to evaluate them.
ExtensionModule instances that are applicable to the current request.public org.springframework.extensions.webscripts.ScriptConfigModel getExtendedScriptConfigModel(java.lang.String xmlConfig)
Creates a new ExtendedScriptConfigModel instance using the local configuration generated for this request.
If configuration for the request will be generated if it does not yet exist. It is likely that this method will be
called multiple times within the context of a single request and although the configuration containers will always
be the same a new ExtendedScriptConfigModel instance will always be created as the the supplied xmlConfig
string could be different for each call (because each WebScript invoked in the request will supply different
configuration.
getExtendedScriptConfigModel in interface org.springframework.extensions.surf.extensibility.HandlesExtensibilitypublic org.springframework.extensions.webscripts.TemplateConfigModel getExtendedTemplateConfigModel(java.lang.String xmlConfig)
Creates a new TemplateConfigModel instance using the local configuration generated for this request.
If configuration for the request will be generated if it does not yet exist. It is likely that this method will be
called multiple times within the context of a single request and although the configuration containers will always
be the same a new TemplateConfigModel instance will always be created as the the supplied xmlConfig
string could be different for each call (because each WebScript invoked in the request will supply different
configuration.
getExtendedTemplateConfigModel in interface org.springframework.extensions.surf.extensibility.HandlesExtensibilitypublic void addExtensibilityDirectives(java.util.Map freeMarkerModel,
org.springframework.extensions.surf.extensibility.ExtensibilityModel extModel)
Adds the <@markup> directive to the container which allows FreeMarker templates to be extended.
addExtensibilityDirectives in interface org.springframework.extensions.surf.extensibility.HandlesExtensibilityCopyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.