in tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java [1793:1906]
public void contributeMarkupRenderer(OrderedConfiguration<MarkupRendererFilter> configuration,
final ModuleManager moduleManager,
final EsModuleManager esModuleManager,
@Symbol(SymbolConstants.OMIT_GENERATOR_META)
final boolean omitGeneratorMeta,
@Symbol(TapestryHttpSymbolConstants.TAPESTRY_VERSION)
final String tapestryVersion,
@Symbol(TapestryHttpSymbolConstants.PRODUCTION_MODE)
boolean productionMode,
@Symbol(SymbolConstants.INCLUDE_CORE_STACK)
final boolean includeCoreStack,
@Symbol(SymbolConstants.ENABLE_PAGELOADING_MASK)
final boolean enablePageloadingMask,
final ValidationDecoratorFactory validationDecoratorFactory)
{
MarkupRendererFilter documentLinker = new MarkupRendererFilter()
{
public void renderMarkup(MarkupWriter writer, MarkupRenderer renderer)
{
DocumentLinkerImpl linker = new DocumentLinkerImpl(moduleManager, esModuleManager, omitGeneratorMeta, enablePageloadingMask, tapestryVersion);
environment.push(DocumentLinker.class, linker);
renderer.renderMarkup(writer);
environment.pop(DocumentLinker.class);
linker.updateDocument(writer.getDocument());
}
};
MarkupRendererFilter clientBehaviorSupport = new MarkupRendererFilter()
{
public void renderMarkup(MarkupWriter writer, MarkupRenderer renderer)
{
ClientBehaviorSupportImpl clientBehaviorSupport = new ClientBehaviorSupportImpl();
environment.push(ClientBehaviorSupport.class, clientBehaviorSupport);
renderer.renderMarkup(writer);
environment.pop(ClientBehaviorSupport.class);
}
};
MarkupRendererFilter heartbeat = new MarkupRendererFilter()
{
public void renderMarkup(MarkupWriter writer, MarkupRenderer renderer)
{
Heartbeat heartbeat = new HeartbeatImpl();
heartbeat.begin();
environment.push(Heartbeat.class, heartbeat);
renderer.renderMarkup(writer);
environment.pop(Heartbeat.class);
heartbeat.end();
}
};
MarkupRendererFilter defaultValidationDecorator = new MarkupRendererFilter()
{
public void renderMarkup(MarkupWriter writer, MarkupRenderer renderer)
{
ValidationDecorator decorator = validationDecoratorFactory.newInstance(writer);
environment.push(ValidationDecorator.class, decorator);
renderer.renderMarkup(writer);
environment.pop(ValidationDecorator.class);
}
};
MarkupRendererFilter importCoreStack = new MarkupRendererFilter()
{
public void renderMarkup(MarkupWriter writer, MarkupRenderer renderer)
{
renderer.renderMarkup(writer);
environment.peekRequired(JavaScriptSupport.class).importStack(InternalConstants.CORE_STACK_NAME);
}
};
configuration.add("DocumentLinker", documentLinker);
configuration.add("ClientBehaviorSupport", clientBehaviorSupport, "after:JavaScriptSupport");
configuration.add("Heartbeat", heartbeat);
configuration.add("ValidationDecorator", defaultValidationDecorator);
if (includeCoreStack)
{
configuration.add("ImportCoreStack", importCoreStack);
}
if (productionMode)
{
configuration.add("PageNameMeta", null);
} else
{
configuration.addInstance("PageNameMeta", PageNameMetaInjector.class);
}
}