has gotten too complicated and it is nice to demarkate public
(and stable) from internal (and volatile).
| Method from org.apache.tapestry5.internal.services.InternalModule Detail: |
public static void bind(ServiceBinder binder) {
binder.bind(PersistentFieldManager.class, PersistentFieldManagerImpl.class);
binder.bind(TemplateParser.class, TemplateParserImpl.class);
binder.bind(PageResponseRenderer.class, PageResponseRendererImpl.class);
binder.bind(PageMarkupRenderer.class, PageMarkupRendererImpl.class);
binder.bind(ComponentInvocationMap.class, NoOpComponentInvocationMap.class);
binder.bind(UpdateListenerHub.class, UpdateListenerHubImpl.class);
binder.bind(LinkFactory.class, LinkFactoryImpl.class);
binder.bind(LocalizationSetter.class, LocalizationSetterImpl.class);
binder.bind(PageElementFactory.class, PageElementFactoryImpl.class);
binder.bind(ResourceStreamer.class, ResourceStreamerImpl.class);
binder.bind(ClientPersistentFieldStorage.class, ClientPersistentFieldStorageImpl.class);
binder.bind(PageRenderQueue.class, PageRenderQueueImpl.class);
binder.bind(AjaxPartialResponseRenderer.class, AjaxPartialResponseRendererImpl.class);
binder.bind(PageContentTypeAnalyzer.class, PageContentTypeAnalyzerImpl.class);
binder.bind(RequestPathOptimizer.class, RequestPathOptimizerImpl.class);
binder.bind(PageResourcesSource.class, PageResourcesSourceImpl.class);
binder.bind(RequestSecurityManager.class, RequestSecurityManagerImpl.class);
binder.bind(InternalRequestGlobals.class, InternalRequestGlobalsImpl.class);
binder.bind(EndOfRequestListenerHub.class);
binder.bind(PageActivationContextCollector.class);
}
Bind all the private/internal services of Tapestry. |
public static ActionRenderResponseGenerator buildActionRenderResponseGenerator(boolean immediateMode,
ObjectLocator locator) {
if (immediateMode) return locator.autobuild(ImmediateActionRenderResponseGenerator.class);
return locator.autobuild(ActionRenderResponseGeneratorImpl.class);
}
Chooses one of two implementations, based on the configured mode. |
public ComponentClassCache buildComponentClassCache(ClassFactory classFactory) {
ComponentClassCacheImpl service = new ComponentClassCacheImpl(classFactory);
componentInstantiatorSource.addInvalidationListener(service);
return service;
}
|
public ComponentClassTransformer buildComponentClassTransformer(ServiceResources resources) {
ComponentClassTransformerImpl transformer = resources.autobuild(ComponentClassTransformerImpl.class);
componentInstantiatorSource.addInvalidationListener(transformer);
return transformer;
}
|
public ComponentInstantiatorSource buildComponentInstantiatorSource(ClassFactory classFactory,
ComponentClassTransformer transformer,
Logger logger,
InternalRequestGlobals internalRequestGlobals) {
ComponentInstantiatorSourceImpl source = new ComponentInstantiatorSourceImpl(logger, classFactory
.getClassLoader(), transformer, internalRequestGlobals);
updateListenerHub.addUpdateListener(source);
return source;
}
|
public ComponentMessagesSource buildComponentMessagesSource(AssetFactory contextAssetFactory,
String appCatalog) {
ComponentMessagesSourceImpl service = new ComponentMessagesSourceImpl(contextAssetFactory
.getRootResource(), appCatalog);
updateListenerHub.addUpdateListener(service);
return service;
}
|
public ComponentTemplateSource buildComponentTemplateSource(TemplateParser parser,
PageTemplateLocator locator) {
ComponentTemplateSourceImpl service = new ComponentTemplateSourceImpl(parser, locator);
updateListenerHub.addUpdateListener(service);
return service;
}
|
public CookieSink buildCookieSink() {
return new CookieSink()
{
public void addCookie(Cookie cookie)
{
requestGlobals.getHTTPServletResponse().addCookie(cookie);
}
};
}
|
public CookieSource buildCookieSource() {
return new CookieSource()
{
public Cookie[] getCookies()
{
return requestGlobals.getHTTPServletRequest().getCookies();
}
};
}
|
public CtClassSource buildCtClassSource(PropertyShadowBuilder builder) {
return builder.build(componentInstantiatorSource, "classSource", CtClassSource.class);
}
|
public PageLoader buildPageLoader(ServiceResources resources) {
PageLoaderImpl service = resources.autobuild(PageLoaderImpl.class);
// Recieve invalidations when the class loader is discarded (due to a component class
// change). The notification is forwarded to the page loader's listeners.
componentInstantiatorSource.addInvalidationListener(service);
return service;
}
|
public PagePool buildPagePool(PageLoader pageLoader,
ComponentMessagesSource componentMessagesSource,
ServiceResources resources) {
PagePoolImpl service = resources.autobuild(PagePoolImpl.class);
// This covers invalidations due to changes to classes
pageLoader.addInvalidationListener(service);
// This covers invalidation due to changes to message catalogs (properties files)
componentMessagesSource.addInvalidationListener(service);
// ... and this covers invalidations due to changes to templates
componentTemplateSource.addInvalidationListener(service);
// Give the service a chance to clean up its own cache periodically as well
updateListenerHub.addUpdateListener(service);
return service;
}
|
public static PageTemplateLocator buildPageTemplateLocator(AssetFactory contextAssetFactory,
ComponentClassResolver componentClassResolver) {
return new PageTemplateLocatorImpl(contextAssetFactory.getRootResource(), componentClassResolver);
}
|
public static RequestPageCache buildRequestPageCache(ObjectLocator locator,
PerthreadManager perthreadManager) {
RequestPageCacheImpl service = locator.autobuild(RequestPageCacheImpl.class);
perthreadManager.addThreadCleanupListener(service);
return service;
}
|
public ResourceCache buildResourceCache(ResourceDigestGenerator digestGenerator) {
ResourceCacheImpl service = new ResourceCacheImpl(digestGenerator);
updateListenerHub.addUpdateListener(service);
return service;
}
|