public PersistentFieldStrategy buildClientPersistentFieldStrategy(LinkCreationHub linkCreationHub, @Autobuild ClientPersistentFieldStrategy service) { linkCreationHub.addListener(service); return service; }
/** * A wrapper around {@link org.apache.tapestry5.internal.services.PageRenderQueue} used for * partial page renders. * Supports an ordered configuration of {@link org.apache.tapestry5.services.PartialMarkupRendererFilter}s. */ public PartialMarkupRenderer buildPartialMarkupRenderer(Logger logger, List<PartialMarkupRendererFilter> configuration, @Autobuild PartialMarkupRendererTerminator terminator) { return pipelineBuilder.build(logger, PartialMarkupRenderer.class, PartialMarkupRendererFilter.class, configuration, terminator); }
/** * @since 5.1.0.0 */ public ComponentRequestHandler buildComponentRequestHandler(List<ComponentRequestFilter> configuration, @Autobuild ComponentRequestHandlerTerminator terminator, Logger logger) { return pipelineBuilder.build(logger, ComponentRequestHandler.class, ComponentRequestFilter.class, configuration, terminator); }
public static ComponentMessagesSource buildComponentMessagesSource(UpdateListenerHub updateListenerHub, @Autobuild ComponentMessagesSourceImpl service) { updateListenerHub.addUpdateListener(service); return service; }
/** * The MarkupRenderer service is used to render a full page as markup. * Supports an ordered configuration of {@link org.apache.tapestry5.services.MarkupRendererFilter}s. */ public MarkupRenderer buildMarkupRenderer(Logger logger, @Autobuild MarkupRendererTerminator terminator, List<MarkupRendererFilter> configuration) { return pipelineBuilder.build(logger, MarkupRenderer.class, MarkupRendererFilter.class, configuration, terminator); }
public PageRenderRequestHandler buildPageRenderRequestHandler(List<PageRenderRequestFilter> configuration, Logger logger, @Autobuild PageRenderRequestHandlerImpl terminator) { return pipelineBuilder.build(logger, PageRenderRequestHandler.class, PageRenderRequestFilter.class, configuration, terminator); }
public static StringTransformer buildStringTransformer(@Autobuild SymbolExpandingTransformer transformer) { return transformer; }
/** * Builds the PropBindingFactory as a chain of command. The terminator of * the chain is responsible for ordinary * property names (and property paths). * * This mechanism has been replaced in 5.1 with a more sophisticated parser based on ANTLR. See <a * href="https://issues.apache.org/jira/browse/TAP5-79">TAP5-79</a> for details. There are no longer any built-in * contributions to the configuration. * * @param configuration * contributions of special factories for some constants, each * contributed factory may return a * binding if applicable, or null otherwise */ public BindingFactory buildPropBindingFactory(List<BindingFactory> configuration, @Autobuild PropBindingFactory service) { configuration.add(service); return chainBuilder.build(BindingFactory.class, configuration); }
public static ComponentClassResolver buildComponentClassResolver(@Autobuild ComponentClassResolverImpl service, @ComponentClasses InvalidationEventHub hub) { // Allow the resolver to clean its cache when the component classes // change hub.addInvalidationListener(service); return service; }
/** * The default data type analyzer is the final analyzer consulted and * identifies the type entirely pased on the * property type, working against its own configuration (mapping property * type class to data type). */ public static DataTypeAnalyzer buildDefaultDataTypeAnalyzer(@Autobuild DefaultDataTypeAnalyzer service, @ComponentClasses InvalidationEventHub hub) { hub.addInvalidationCallback(service); return service; }
/** * Builds the component action request handler for traditional (non-Ajax) * requests. These typically result in a * redirect to a Tapestry render URL. */ @Marker( {Traditional.class, Primary.class}) public ComponentEventRequestHandler buildComponentEventRequestHandler( List<ComponentEventRequestFilter> configuration, Logger logger, @Autobuild ComponentEventRequestHandlerImpl terminator) { return pipelineBuilder.build(logger, ComponentEventRequestHandler.class, ComponentEventRequestFilter.class, configuration, terminator); }
/** * Builds the action request handler for Ajax requests, based on a * {@linkplain org.apache.tapestry5.ioc.services.PipelineBuilder * pipeline} around {@link org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler} . Filters on * the * request handler are supported here as well. */ @Marker( {Ajax.class, Primary.class}) public ComponentEventRequestHandler buildAjaxComponentEventRequestHandler( List<ComponentEventRequestFilter> configuration, Logger logger, @Autobuild AjaxComponentEventRequestHandler terminator) { return pipelineBuilder.build(logger, ComponentEventRequestHandler.class, ComponentEventRequestFilter.class, configuration, terminator); }
@Scope(ScopeConstants.PERTHREAD) public StringHolder buildStringHolder(@Autobuild StringHolderImpl impl) { return impl; } }
@Scope(ScopeConstants.PERTHREAD) public static MultipartDecoder buildMultipartDecoder(PerthreadManager perthreadManager, RegistryShutdownHub shutdownHub, @Autobuild MultipartDecoderImpl multipartDecoder) { // This is proabably overkill since the FileCleaner should catch temporary files, but lets // be safe. perthreadManager.addThreadCleanupListener(multipartDecoder); if (needToAddShutdownListener.getAndSet(false)) { shutdownHub.addRegistryShutdownListener(new Runnable() { @Override public void run() { FileCleaner.exitWhenFinished(); } }); } return multipartDecoder; }
@Scope(ScopeConstants.PERTHREAD) public static MultipartDecoder buildMultipartDecoder(PerthreadManager perthreadManager, RegistryShutdownHub shutdownHub, @Autobuild MultipartDecoderImpl multipartDecoder) { // This is proabably overkill since the FileCleaner should catch temporary files, but lets // be safe. perthreadManager.addThreadCleanupListener(multipartDecoder); if (needToAddShutdownListener.getAndSet(false)) { shutdownHub.addRegistryShutdownListener(new Runnable() { @Override public void run() { FileCleaner.exitWhenFinished(); } }); } return multipartDecoder; }
final InvalidationEventHub invalidationEventHub, final @Autobuild RestoreDirtySessionObjects restoreDirtySessionObjects)
@Contribute(StreamableResourceSource.class) public static void provideCompilers(MappedConfiguration<String, ResourceTransformer> configuration, ResourceTransformerFactory factory, @Autobuild CoffeeScriptCompiler coffeeScriptCompiler, @Autobuild final TypeScriptCompiler tsCompiler) { // contribution ids are file extensions: configuration.add("coffee", factory.createCompiler("text/javascript", "CoffeeScript", "JavaScript", coffeeScriptCompiler, CacheMode.SINGLE_FILE)); configuration.add("less", factory.createCompiler("text/css", "Less", "CSS", new LessResourceTransformer(), CacheMode.MULTIPLE_FILE)); configuration.add("ts", factory.createCompiler("text/javascript", "TS", "JavaScript", tsCompiler, CacheMode.SINGLE_FILE)); }
@Contribute(StreamableResourceSource.class) public static void provideCompilers(MappedConfiguration<String, ResourceTransformer> configuration, ResourceTransformerFactory factory, @Autobuild CoffeeScriptCompiler coffeeScriptCompiler) { // contribution ids are file extensions: configuration.add("coffee", factory.createCompiler("text/javascript", "CoffeeScript", "JavaScript", coffeeScriptCompiler, CacheMode.SINGLE_FILE)); configuration.add("less", factory.createCompiler("text/css", "Less", "CSS", new LessResourceTransformer(), CacheMode.MULTIPLE_FILE)); }
boolean gzipCompressionEnabled, @Autobuild GZipFilter gzipFilter,
/** * Contributes an handler for each mapped classpath alias, as well handlers for context assets * and stack assets (combined {@link org.apache.tapestry5.services.javascript.JavaScriptStack} files). */ @Contribute(Dispatcher.class) @AssetRequestDispatcher public static void provideBuiltinAssetDispatchers(MappedConfiguration<String, AssetRequestHandler> configuration, @ContextProvider AssetFactory contextAssetFactory, @Autobuild StackAssetRequestHandler stackAssetRequestHandler, ClasspathAssetAliasManager classpathAssetAliasManager, ResourceStreamer streamer, AssetSource assetSource, ClasspathAssetProtectionRule classpathAssetProtectionRule) { Map<String, String> mappings = classpathAssetAliasManager.getMappings(); for (String folder : mappings.keySet()) { String path = mappings.get(folder); configuration.add(folder, new ClasspathAssetRequestHandler(streamer, assetSource, path, classpathAssetProtectionRule)); } configuration.add(RequestConstants.CONTEXT_FOLDER, new ContextAssetRequestHandler(streamer, contextAssetFactory.getRootResource())); configuration.add(RequestConstants.STACK_FOLDER, stackAssetRequestHandler); }