();
-
- /**
- * Creates a new {@link ExtensibilityModel} and sets it on the current thread
- */
- public ExtensibilityModel openExtensibilityModel()
- {
- if (logger.isDebugEnabled())
- {
- logger.debug("Opening for thread: " + Thread.currentThread().getName());
- }
- this.extendedBundleCache.set(new HashMap());
- this.evaluatedModules.set(null);
- this.fileBeingProcessed.set(null);
- this.globalConfig.set(null);
- this.sections.set(null);
- this.sectionsByArea.set(null);
-
- ExtensibilityModel model = new ExtensibilityModelImpl(null, this);
- this.extensibilityModel.set(model);
- this.modelUsed.set(Boolean.FALSE);
- return model;
- }
-
- /**
- * Flushes the {@link ExtensibilityModel} provided and sets its parent as the current {@link ExtensibilityModel}
- * for the current thread.
- */
- public void closeExtensibilityModel(ExtensibilityModel model, Writer out)
- {
- if (logger.isDebugEnabled())
- {
- logger.debug("Closing for thread: " + Thread.currentThread().getName());
- }
-
- model.flushModel(out);
- this.modelUsed.set(Boolean.FALSE);
- this.extensibilityModel.set(null);
- }
-
- /**
- *
Returns the {@link ExtensibilityModel} for the current thread.
- */
- public ExtensibilityModel getCurrentExtensibilityModel()
- {
- if (logger.isDebugEnabled())
- {
- logger.debug("Getting current for thread: " + Thread.currentThread().getName());
- }
- this.modelUsed.set(Boolean.TRUE);
- return this.extensibilityModel.get();
- }
-
- /**
- * This method is implemented to perform no action as it is not necessary for a standalone WebScript
- * container to add dependencies for processing.
- */
- public void updateExtendingModuleDependencies(String pathBeingProcessed, Map model)
- {
- // NOT REQUIRED FOR STANDALONE WEBSCRIPT CONTAINER
- }
-
- /**
- * A thread-safe cache of extended {@link ResourceBundle} instances for the current request.
- */
- private ThreadLocal