Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tapestry5.services
Class TapestryModule

    java.lang.Object
      org.apache.tapestry5.services.TapestryModule

    @Marker(value=Core.class)
    @SubModule(value={InternalModule.class,AssetsModule.class,PageLoadModule.class})
    public final class TapestryModule

extends java.lang.Object

The root module for Tapestry.

Constructor Summary
`TapestryModule(PipelineBuilder pipelineBuilder, PropertyShadowBuilder shadowBuilder, RequestGlobals requestGlobals, ApplicationGlobals applicationGlobals, ChainBuilder chainBuilder, Environment environment, StrategyBuilder strategyBuilder, PropertyAccess propertyAccess, Request request, Response response, EnvironmentalShadowBuilder environmentalBuilder, EndOfRequestEventHub endOfRequestEventHub)` We inject all sorts of common dependencies (including builders) into the module itself (note: even though some of these service are defined by the module itself, that's ok because services are always lazy proxies).

Method Summary
`static void` | `addApplicationAndTapestryMappings(MappedConfiguration<java.lang.String,java.lang.String> configuration, java.lang.String appPackage)`
`static void` | `addMappingsForLibraryVirtualFolders(MappedConfiguration<java.lang.String,java.lang.String> configuration, ComponentClassResolver resolver)`
`static void` | `adviseLazy(LazyAdvisor advisor, MethodAdviceReceiver receiver)` Advises the `ComponentMessagesSource` service so that the creation of `Messages` instances can be deferred.
`static void` | `bind(ServiceBinder binder)`
`ComponentEventRequestHandler` | `buildAjaxComponentEventRequestHandler(java.util.List<ComponentEventRequestFilter> configuration, org.slf4j.Logger logger, AjaxComponentEventRequestHandler terminator)` Builds the action request handler for Ajax requests, based on a pipeline around `AjaxComponentEventRequestHandler` .
`ComponentEventResultProcessor` | `buildAjaxComponentEventResultProcessor(java.util.Map<java.lang.Class,ComponentEventResultProcessor> configuration, InvalidationEventHub hub)` The component event result processor used for Ajax-oriented component requests.
`ApplicationInitializer` | `buildApplicationInitializer(org.slf4j.Logger logger, java.util.List<ApplicationInitializerFilter> configuration)` Initializes the application, using a pipeline of `ApplicationInitializer`s.
`ClientBehaviorSupport` | `buildClientBehaviorSupport()` Builds a proxy to the current `ClientBehaviorSupport` inside this thread's `Environment`.
`PersistentFieldStrategy` | `buildClientPersistentFieldStrategy(LinkCreationHub linkCreationHub, ClientPersistentFieldStrategy service)`
`static InvalidationEventHub` | `buildComponentClassesInvalidationEventHub(InternalComponentInvalidationEventHub trueHub)` Exposes the public portion of the internal `InternalComponentInvalidationEventHub` service.
`ClassFactory` | `buildComponentClassFactory(ComponentInstantiatorSource source)` Returns a `ClassFactory` that can be used to create extra classes around component classes.
`static ComponentClassResolver` | `buildComponentClassResolver(ComponentClassResolverImpl service, InvalidationEventHub hub)`
`ComponentClassTransformWorker2` | `buildComponentClassTransformWorker(java.util.List<ComponentClassTransformWorker2> configuration)` Allows the exact steps in the component class transformation process to be defined.
`ComponentEventLinkTransformer` | `buildComponentEventLinkTransformer(java.util.List<ComponentEventLinkTransformer> configuration)` Builds `ComponentEventLinkTransformer` service as a chain of command.
`ComponentEventRequestHandler` | `buildComponentEventRequestHandler(java.util.List<ComponentEventRequestFilter> configuration, org.slf4j.Logger logger, ComponentEventRequestHandlerImpl terminator)` Builds the component action request handler for traditional (non-Ajax) requests.
`ComponentEventResultProcessor` | `buildComponentEventResultProcessor(java.util.Map<java.lang.Class,ComponentEventResultProcessor> configuration, InvalidationEventHub hub)` The component event result processor used for normal component requests.
`static InvalidationEventHub` | `buildComponentMessagesInvalidationEventHub(ComponentMessagesSource messagesSource)`
`static ComponentMessagesSource` | `buildComponentMessagesSource(UpdateListenerHub updateListenerHub, ComponentMessagesSourceImpl service)`
`PlasticProxyFactory` | `buildComponentProxyFactory(ComponentInstantiatorSource source)` Returns a `PlasticProxyFactory` that can be used to create extra classes around component classes.
`ComponentRequestHandler` | `buildComponentRequestHandler(java.util.List<ComponentRequestFilter> configuration, ComponentRequestHandlerTerminator terminator, org.slf4j.Logger logger)`
`ComponentTemplateLocator` | `buildComponentTemplateLocator(java.util.List<ComponentTemplateLocator> configuration)` Builds the `ComponentTemplateLocator` as a chain of command.
`static InvalidationEventHub` | `buildComponentTemplatesInvalidationEventHub(ComponentTemplateSource templateSource)`
`Context` | `buildContext(ApplicationGlobals globals)`
`AssetFactory` | `buildContextAssetFactory(ApplicationGlobals globals, AssetPathConstructor assetPathConstructor, AssetPathConverter converter)`
`DataTypeAnalyzer` | `buildDataTypeAnalyzer(java.util.List<DataTypeAnalyzer> configuration)` Analyzes properties to determine the data types, used to provideDefaultBeanBlocks(org.apache.tapestry5.ioc.Configuration) locale display and edit blocks for properties.
`static DataTypeAnalyzer` | `buildDefaultDataTypeAnalyzer(DefaultDataTypeAnalyzer service, InvalidationEventHub hub)` 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).
`Environment` | `buildEnvironment(PerthreadManager perthreadManager)`
`FormSupport` | `buildFormSupport()` Builds a proxy to the current `FormSupport` inside this thread's `Environment`.
`Heartbeat` | `buildHeartbeat()` Exposes the Environmental `Heartbeat` as an injectable service.
`javax.servlet.http.HttpServletRequest` | `buildHttpServletRequest()` Builds a shadow of the RequestGlobals.HTTPServletRequest property.
`HttpServletRequestHandler` | `buildHttpServletRequestHandler(org.slf4j.Logger logger, java.util.List<HttpServletRequestFilter> configuration, RequestHandler handler, java.lang.String applicationCharset, TapestrySessionFactory sessionFactory)`
`javax.servlet.http.HttpServletResponse` | `buildHttpServletResponse()`
`InjectionProvider2` | `buildInjectionProvider(java.util.List<InjectionProvider2> configuration)` A chain of command for providing values for `Inject`-ed fields in component classes.
`JavaScriptSupport` | `buildJavaScriptSupport()` Builds a proxy to the current `JavaScriptSupport` inside this thread's `Environment`.
`static LinkCreationHub` | `buildLinkCreationHub(LinkSource source)`
`MarkupRenderer` | `buildMarkupRenderer(org.slf4j.Logger logger, MarkupRendererTerminator terminator, java.util.List<MarkupRendererFilter> configuration)` The MarkupRenderer service is used to render a full page as markup.
`Dispatcher` | `buildMasterDispatcher(java.util.List<Dispatcher> configuration)` Ordered contributions to the MasterDispatcher service allow different URL matching strategies to occur.
`StackTraceElementAnalyzer` | `buildMasterStackTraceElementAnalyzer(java.util.List<StackTraceElementAnalyzer> configuration)`
`static MetaDataLocator` | `buildMetaDataLocator(MetaDataLocatorImpl service, InvalidationEventHub hub)`
`ObjectRenderer` | `buildObjectRenderer(java.util.Map<java.lang.Class,ObjectRenderer> configuration)`
`PageRenderLinkTransformer` | `buildPageRenderLinkTransformer(java.util.List<PageRenderLinkTransformer> configuration)` Builds `PageRenderLinkTransformer` service as a chain of command.
`PageRenderRequestHandler` | `buildPageRenderRequestHandler(java.util.List<PageRenderRequestFilter> configuration, org.slf4j.Logger logger, PageRenderRequestHandlerImpl terminator)`
`PartialMarkupRenderer` | `buildPartialMarkupRenderer(org.slf4j.Logger logger, java.util.List<PartialMarkupRendererFilter> configuration, PartialMarkupRendererTerminator terminator)` A wrapper around `PageRenderQueue` used for partial page renders.
`BindingFactory` | `buildPropBindingFactory(java.util.List<BindingFactory> configuration, PropBindingFactory service)` Builds the PropBindingFactory as a chain of command.
`RenderSupport` | `buildRenderSupport()` Builds a proxy to the current `RenderSupport` inside this thread's `Environment`.
`Request` | `buildRequest()` Builds a shadow of the RequestGlobals.request property.
`RequestHandler` | `buildRequestHandler(org.slf4j.Logger logger, java.util.List<RequestFilter> configuration, Dispatcher masterDispatcher)`
`Response` | `buildResponse()` Builds a shadow of the RequestGlobals.response property.
`ServletApplicationInitializer` | `buildServletApplicationInitializer(org.slf4j.Logger logger, java.util.List<ServletApplicationInitializerFilter> configuration, ApplicationInitializer initializer)`
`SessionPersistedObjectAnalyzer` | `buildSessionPersistedObjectAnalyzer(java.util.Map<java.lang.Class,SessionPersistedObjectAnalyzer> configuration)` The master SessionPersistedObjectAnalyzer.
`static TranslatorSource` | `buildTranslatorSource(java.util.Map<java.lang.Class,Translator> configuration, TranslatorAlternatesSource alternatesSource, InvalidationEventHub hub)`
`static ValueEncoderSource` | `buildValueEncoderSource(java.util.Map<java.lang.Class,ValueEncoderFactory> configuration, InvalidationEventHub hub)`
`static void` | `contributeAjaxComponentEventRequestHandler(OrderedConfiguration<ComponentEventRequestFilter> configuration)` Contributes: AjaxFormUpdate `AjaxFormUpdateFilter`
`void` | `contributeApplicationInitializer(OrderedConfiguration<ApplicationInitializerFilter> configuration, TypeCoercer typeCoercer, ComponentClassResolver componentClassResolver, InvalidationEventHub invalidationEventHub, RestoreDirtySessionObjects restoreDirtySessionObjects)` Adds a listener to the `ComponentInstantiatorSource` that clears the `PropertyAccess` and `TypeCoercer` caches on a class loader invalidation.
`void` | `contributeApplicationStatePersistenceStrategySource(MappedConfiguration<java.lang.String,ApplicationStatePersistenceStrategy> configuration, ApplicationStatePersistenceStrategy sessionStategy)` Contributes the default "session" strategy.
`static void` | `contributeAssetDispatcher(MappedConfiguration<java.lang.String,AssetRequestHandler> configuration, AssetFactory contextAssetFactory, StackAssetRequestHandler stackAssetRequestHandler, ClasspathAssetAliasManager classpathAssetAliasManager, ResourceStreamer streamer, AssetResourceLocator assetResourceLocator)` Contributes an handler for each mapped classpath alias, as well handlers for context assets and stack assets (combined `JavaScriptStack` files).
`void` | `contributeAssetSource(MappedConfiguration<java.lang.String,AssetFactory> configuration, AssetFactory contextAssetFactory, AssetFactory classpathAssetFactory)`
`static void` | `contributeBindingSource(MappedConfiguration<java.lang.String,BindingFactory> configuration, BindingFactory propBindingFactory, BindingFactory messageBindingFactory, BindingFactory validateBindingFactory, BindingFactory translateBindingFactory, BindingFactory assetBindingFactory, BindingFactory nullFieldStrategyBindingFactory, BindingFactory contextBindingFactory, BindingFactory symbolBindingFactory)` Contributes the factory for serveral built-in binding prefixes ("asset", "block", "component", "literal", prop", "nullfieldstrategy", "message", "validate", "translate", "var").
`void` | `contributeComponentEventRequestHandler(OrderedConfiguration<ComponentEventRequestFilter> configuration, RequestSecurityManager requestSecurityManager, ComponentEventRequestHandler ajaxHandler)` Contributes filters: Ajax Determines if the request is Ajax oriented, and redirects to an alternative handler if so ImmediateRender When immediate action response rendering is enabled, generates the markup response (instead of a page redirect response, which is the normal behavior) Secure Sends a redirect if an non-secure request accesses a secure page
`void` | `contributeComponentEventResultProcessor(ComponentEventResultProcessor componentInstanceProcessor, MappedConfiguration<java.lang.Class,ComponentEventResultProcessor> configuration)` Contributes handlers for the following types: Object Failure case, added to provide a more useful exception message `Link` Sends a redirect to the link (which is typically a page render link) String Sends a page render redirect Class Interpreted as the class name of a page, sends a page render render redirect (this is more refactoring safe than the page name) `Component` A page's root component (though a non-root component will work, but will generate a warning).
`static void` | `contributeComponentMessagesSource(AssetSource assetSource, Resource applicationCatalog, OrderedConfiguration<Resource> configuration)` Contributes: AppCatalog The Resource defined by `SymbolConstants.APPLICATION_CATALOG` ValidationMessages Messages used by validators (before:AppCatalog)
`void` | `contributeComponentRequestHandler(OrderedConfiguration<ComponentRequestFilter> configuration)` Contributes: InitializeActivePageName `InitializeActivePageName`
`static void` | `contributeComponentTemplateLocator(OrderedConfiguration<ComponentTemplateLocator> configuration, AssetFactory contextAssetFactory, java.lang.String applicationFolder, ComponentClassResolver componentClassResolver)` Contributes two template locators: Default Searches for the template on the classpath (`DefaultTemplateLocator` Page Searches for page templates in the context (`PageTemplateLocator`)
`static void` | `contributeDataTypeAnalyzer(OrderedConfiguration<DataTypeAnalyzer> configuration, DataTypeAnalyzer defaultDataTypeAnalyzer)` Annotation Checks for `DataType` annotation Default (ordered last) `DefaultDataTypeAnalyzer` service ( `contributeDefaultDataTypeAnalyzer(org.apache.tapestry5.ioc.MappedConfiguration)` )
`static void` | `contributeDefaultDataTypeAnalyzer(MappedConfiguration<java.lang.Class,java.lang.String> configuration)` Maps property types to data type names: String --> text Number --> number Enum --> enum Boolean --> boolean Date --> date
`static void` | `contributeFactoryDefaults(MappedConfiguration<java.lang.String,java.lang.Object> configuration)` Contributes factory defaults that may be overridden.
`static void` | `contributeFieldValidatorSource(MappedConfiguration<java.lang.String,Validator> configuration)` Contributes the basic set of validators: required minlength maxlength min max regexp email none
`static void` | `contributeHiddenFieldLocationRules(MappedConfiguration<java.lang.String,RelativeElementPosition> configuration)` Determines positioning of hidden fields relative to other elements (this is needed by `FormFragment` and others.
`void` | `contributeHttpServletRequestHandler(OrderedConfiguration<HttpServletRequestFilter> configuration, boolean gzipCompressionEnabled, GZipFilter gzipFilter, HttpServletRequestFilter ignoredPathsFilter)` StoreIntoGlobals Stores the request and response into `RequestGlobals` at the start of the pipeline IgnoredPaths Identifies requests that are known (via the IgnoredPathsFilter service's configuration) to be mapped to other applications GZip Handles GZIP compression of response streams (if supported by client)
`static void` | `contributeJavaScriptStackSource(MappedConfiguration<java.lang.String,JavaScriptStack> configuration)` Contributes the "core" and "core-datefield" `JavaScriptStack`s
`void` | `contributeMarkupRenderer(OrderedConfiguration<MarkupRendererFilter> configuration, boolean omitGeneratorMeta, java.lang.String tapestryVersion, boolean compactJSON, SymbolSource symbolSource, AssetSource assetSource, JavaScriptStackSource javascriptStackSource, JavaScriptStackPathConstructor javascriptStackPathConstructor, ValidationDecoratorFactory validationDecoratorFactory, Asset defaultStylesheet)` Adds page render filters, each of which provides an `Environmental` service.
`static void` | `contributeMasterDispatcher(OrderedConfiguration<Dispatcher> configuration, Dispatcher assetDispatcher)` The MasterDispatcher is a chain-of-command of individual Dispatchers, each handling (like a servlet) a particular kind of incoming request.
`static void` | `contributeMasterObjectProvider(OrderedConfiguration<ObjectProvider> configuration, ObjectProvider assetObjectProvider, ObjectLocator locator)` Contributes two object providers: Asset Checks for the `Path` annotation, and injects an `Asset` Service Injects based on the `Service` annotation, if present ApplicationMessages Injects the global application messages
`static void` | `contributeMasterStackTraceElementAnalyzer(OrderedConfiguration<StackTraceElementAnalyzer> configuration)` Contributes: Application Checks for classes in the application package Proxies Checks for classes that appear to be generated proxies. SunReflect Checks for `sun.reflect` (which are omitted) TapestryAOP Omits stack frames for classes related to Tapestry AOP (such as advice, etc.) OperationTracker Omits stack frames related to `OperationTracker`
`static void` | `contributeMetaWorker(MappedConfiguration<java.lang.Class,MetaDataExtractor> configuration)` Contributes extractors for `Meta`, `Secure`, `ContentType` and `WhitelistAccessOnly` annotations.
`static void` | `contributeNullFieldStrategySource(MappedConfiguration<java.lang.String,NullFieldStrategy> configuration)` Contributes strategies accessible via the `NullFieldStrategySource` service.
`void` | `contributeObjectRenderer(MappedConfiguration<java.lang.Class,ObjectRenderer> configuration, ObjectRenderer locationRenderer, TypeCoercer typeCoercer)` Contributes a default object renderer for type Object, plus specialized renderers for `Request`, `Location`, `ComponentResources`, `EventContext`, `AvailableValues`, List, and Object[].
`void` | `contributePageRenderRequestHandler(OrderedConfiguration<PageRenderRequestFilter> configuration, RequestSecurityManager securityManager)` Contributes a single filter, "Secure", which checks for non-secure requests that access secure pages.
`void` | `contributePartialMarkupRenderer(OrderedConfiguration<PartialMarkupRendererFilter> configuration, ValidationDecoratorFactory validationDecoratorFactory, JavaScriptStackSource javascriptStackSource, JavaScriptStackPathConstructor javascriptStackPathConstructor, SymbolSource symbolSource, AssetSource assetSource)` Contributes `PartialMarkupRendererFilter`s used when rendering a partial Ajax response.
`void` | `contributePersistentFieldManager(MappedConfiguration<java.lang.String,PersistentFieldStrategy> configuration, Request request, PersistentFieldStrategy clientStrategy)` Contributes several strategies: session Values are stored in the `Session` flash Values are stored in the `Session`, until the next request (for the page) client Values are encoded into URLs (or hidden form fields)
`void` | `contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration, Context context, boolean productionMode)` Continues a number of filters into the RequestHandler service: StaticFiles Checks to see if the request is for an actual file, if so, returns true to let the servlet container process the request CheckForUpdates Periodically fires events that checks to see if the file system sources for any cached data has changed (see `CheckForUpdatesFilter`).
`static void` | `contributeResourceDigestGenerator(Configuration<java.lang.String> configuration)` Configures the extensions that will require a digest to be downloaded via the asset dispatcher.
`static void` | `contributeSessionPersistedObjectAnalyzer(MappedConfiguration<java.lang.Class,SessionPersistedObjectAnalyzer> configuration)` Identifies String, Number and Boolean as immutable objects, a catch-all handler for Object (that understands the `ImmutableSessionPersistedObject` annotation), and a handler for `OptimizedSessionPersistedObject`.
`static void` | `contributeTemplateParser(MappedConfiguration<java.lang.String,java.net.URL> config)`
`static void` | `contributeTranslatorSource(MappedConfiguration<java.lang.Class,Translator> configuration, NumericTranslatorSupport support)` Contributes the basic set of translators: string byte short integer long float double BigInteger BigDecimal
`static void` | `contributeTypeCoercer(Configuration<CoercionTuple> configuration, TypeCoercer coercer, ThreadLocale threadLocale, AssetSource assetSource, ComponentClassCache classCache, DynamicTemplateParser dynamicTemplateParser)` Adds coercions: String to `SelectModel` Map to `SelectModel` Collection to `GridDataSource` null to `GridDataSource` List to `SelectModel` `ComponentResourcesAware` (typically, a component) to `ComponentResources` `ComponentResources` to `PropertyOverrides` String to `Renderable` `Renderable` to `Block` String to `DateFormat` String to `Resource` (via `AssetSource.resourceForPath(String)`) `Renderable` to `RenderCommand` String to `Pattern` String to `DateFormat` `ComponentClassTransformWorker` to `ComponentClassTransformWorker2` `InjectionProvider` to `InjectionProvider2` `Resource` to `DynamicTemplate` `Asset` to `Resource` `ValueEncoder` to `ValueEncoderFactory`
`static void` | `contributeValidationConstraintGenerator(OrderedConfiguration<ValidationConstraintGenerator> configuration)` Adds built-in constraint generators: PrimtiveField -- primitive fields are always required ValidateAnnotation -- adds constraints from a `Validate` annotation
`static void` | `contributeValueEncoderSource(MappedConfiguration<java.lang.Class,java.lang.Object> configuration)` Contributes `ValueEncoder`s or `ValueEncoderFactory`s for types: Object String Enum
`static FieldValidatorDefaultSource` | `decorateFieldValidatorDefaultSource(FieldValidatorDefaultSource defaultSource, Environment environment)` Decorate FieldValidatorDefaultSource to setup the EnvironmentMessages object and place it in the environment.
`ComponentEventLinkEncoder` | `decorateLinkTransformer(LinkTransformer linkTransformer, ComponentEventLinkEncoder delegate)` Provides the "LinkTransformer" interceptor for the `ComponentEventLinkEncoder` service.
`static void` | `defaultWhitelist(OrderedConfiguration<WhitelistAnalyzer> configuration)` Contributes a single default analyzer: LocalhostOnly Identifies requests from localhost as on client whitelist
`static void` | `productionModeOverrides(MappedConfiguration<java.lang.Class,java.lang.Object> configuration, boolean productionMode)` In production mode, override `UpdateListenerHub` to be an empty placeholder.
`static void` | `provideBaseAjaxComponentEventResultProcessors(MappedConfiguration<java.lang.Class,ComponentEventResultProcessor> configuration)` Contributes handlers for the following types: Object Failure case, added to provide more useful exception message `RenderCommand` Typically, a `Block` `Component` Renders the component and its body (unless its a page, in which case a redirect JSON response is sent) `JSONObject` or `JSONArray` The JSONObject is returned as a text/javascript response `StreamResponse` The stream response is sent as the actual response String Interprets the value as a logical page name and sends a client response to redirect to that page `Link` Sends a JSON response to redirect to the link `Class` Treats the class as a page class and sends a redirect for a page render for that page `MultiZoneUpdate` Sends a single JSON response to update the content of multiple zones In most cases, when you want to support a new type, you should convert it to one of the built-in supported types (such as `RenderCommand`.
`static void` | `provideDefaultBeanBlocks(Configuration<BeanBlockContribution> configuration)`
`static void` | `provideStandardInjectionProviders(OrderedConfiguration<InjectionProvider2> configuration, SymbolSource symbolSource, AssetSource assetSource)` Default based on `MasterObjectProvider` Named Handles fields with the `Named` annotation Block injects fields of type `Block` CommonResources Access to properties of resources (log, messages, etc.) Asset injection of assets (triggered via `Path` annotation), with the path relative to the component class Service Ordered last, for use when Inject is present and nothing else works, matches field type against Tapestry IoC services
`static void` | `provideTransformWorkers(OrderedConfiguration<ComponentClassTransformWorker2> configuration, MetaWorker metaWorker, ComponentClassResolver resolver)` Adds a number of standard component class transform workers: Parameter Identifies parameters based on the `Parameter` annotation BindParameter Support for the `BindParameter` annotation Property Generates accessor methods if `Property` annotation is present Import Supports the `Import` annotation UnclaimedField Manages unclaimed fields, storing their value in a `PerThreadValue` OnEvent Handle the @OnEvent annotation, and related naming convention RenderCommand Ensures all components also implement `RenderCommand` SupportsInformalParameters Checks for the annotation RenderPhase Link in render phase methods Retain Allows fields to retain their values between requests Meta Checks for meta data annotations and adds it to the component model PageActivationContext Support for `PageActivationContext` annotation DiscardAfter Support for `DiscardAfter` method annotation MixinAfter Support for the `MixinAfter` mixin class annotation PageReset Checks for the `PageReset` annotation Mixin Adds a mixin as part of a component's implementation Cached Checks for the `Cached` annotation ActivationRequestParameter Support for the `ActivationRequestParameter` annotation PageLoaded, PageAttached, PageDetached Support for annotations `PageLoaded`, `PageAttached`, `PageDetached` InjectService Handles the `InjectService` annotation Component Defines embedded components based on the `Component` annotation Environment Allows fields to contain values extracted from the `Environment` service ApplicationState Converts fields that reference application state objects Persist Allows fields to store their their value persistently between requests via `Persist` SessionAttribute Support for the `SessionAttribute` Log Checks for the `Log` annotation HeartbeatDeferred Support for the `HeartbeatDeferred` annotation, which defers method invocation to the end of the `Heartbeat` Inject Used with the `Inject` annotation, when a value is supplied
`static void` | `registerToClearPlasticProxyFactoryOnInvalidation(InvalidationEventHub hub, PlasticProxyFactory proxyFactory)`
`static void` | `setupCoreAndAppLibraries(Configuration<LibraryMapping> configuration, java.lang.String appRootPackage)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### TapestryModule

    public TapestryModule(PipelineBuilder pipelineBuilder,
                          PropertyShadowBuilder shadowBuilder,
                          RequestGlobals requestGlobals,
                          ApplicationGlobals applicationGlobals,
                          ChainBuilder chainBuilder,
                          Environment environment,
                          StrategyBuilder strategyBuilder,
                          PropertyAccess propertyAccess,
                          Request request,
                          Response response,
                          EnvironmentalShadowBuilder environmentalBuilder,
                          EndOfRequestEventHub endOfRequestEventHub)

  We inject all sorts of common dependencies (including builders) into the module itself (note: even though some of these service are defined by the module itself, that's ok because services are always lazy proxies). This isn't about efficiency (it may be slightly more efficient, but not in any noticeable way), it's about eliminating the need to keep injecting these dependencies into individual service builder and contribution methods.

Method Detail

### bind

    public static void bind(ServiceBinder binder)

### contributeBindingSource

    public static void contributeBindingSource(MappedConfiguration<java.lang.String,BindingFactory> configuration,
                                               @InjectService(value="PropBindingFactory")
                                               BindingFactory propBindingFactory,
                                               @InjectService(value="MessageBindingFactory")
                                               BindingFactory messageBindingFactory,
                                               @InjectService(value="ValidateBindingFactory")
                                               BindingFactory validateBindingFactory,
                                               @InjectService(value="TranslateBindingFactory")
                                               BindingFactory translateBindingFactory,
                                               @InjectService(value="AssetBindingFactory")
                                               BindingFactory assetBindingFactory,
                                               @InjectService(value="NullFieldStrategyBindingFactory")
                                               BindingFactory nullFieldStrategyBindingFactory,
                                               @InjectService(value="ContextBindingFactory")
                                               BindingFactory contextBindingFactory,
                                               @InjectService(value="SymbolBindingFactory")
                                               BindingFactory symbolBindingFactory)

  Contributes the factory for serveral built-in binding prefixes ("asset", "block", "component", "literal", prop", "nullfieldstrategy", "message", "validate", "translate", "var").

### addMappingsForLibraryVirtualFolders

    @Contribute(value=ClasspathAssetAliasManager.class)
    public static void addMappingsForLibraryVirtualFolders(MappedConfiguration<java.lang.String,java.lang.String> configuration,
                                                                                                           ComponentClassResolver resolver)

### addApplicationAndTapestryMappings

    @Contribute(value=ClasspathAssetAliasManager.class)
    public static void addApplicationAndTapestryMappings(MappedConfiguration<java.lang.String,java.lang.String> configuration,
                                                                                                         @Symbol(value="tapestry.app-package")
                                                                                                         java.lang.String appPackage)

### contributeAssetDispatcher

    public static void contributeAssetDispatcher(MappedConfiguration<java.lang.String,AssetRequestHandler> configuration,
                                                 @ContextProvider
                                                 AssetFactory contextAssetFactory,
                                                 @Autobuild
                                                 StackAssetRequestHandler stackAssetRequestHandler,
                                                 ClasspathAssetAliasManager classpathAssetAliasManager,
                                                 ResourceStreamer streamer,
                                                 AssetResourceLocator assetResourceLocator)

  Contributes an handler for each mapped classpath alias, as well handlers for context assets and stack assets (combined `JavaScriptStack` files).

### setupCoreAndAppLibraries

    @Contribute(value=ComponentClassResolver.class)
    public static void setupCoreAndAppLibraries(Configuration<LibraryMapping> configuration,
                                                                                            @Symbol(value="tapestry.app-package")
                                                                                            java.lang.String appRootPackage)

### provideTransformWorkers

    @Contribute(value=ComponentClassTransformWorker2.class)
    @Primary
    public static void provideTransformWorkers(OrderedConfiguration<ComponentClassTransformWorker2> configuration,
                                                                                                           MetaWorker metaWorker,
                                                                                                           ComponentClassResolver resolver)

  Adds a number of standard component class transform workers:
  Parameter
    Identifies parameters based on the `Parameter` annotation
  BindParameter
    Support for the `BindParameter` annotation
  Property
    Generates accessor methods if `Property` annotation is present
  Import
    Supports the `Import` annotation
  UnclaimedField
    Manages unclaimed fields, storing their value in a `PerThreadValue`
  OnEvent
    Handle the @OnEvent annotation, and related naming convention
  RenderCommand
    Ensures all components also implement `RenderCommand`
  SupportsInformalParameters
    Checks for the annotation
  RenderPhase
    Link in render phase methods
  Retain
    Allows fields to retain their values between requests
  Meta
    Checks for meta data annotations and adds it to the component model
  PageActivationContext
    Support for `PageActivationContext` annotation
  DiscardAfter
    Support for `DiscardAfter` method annotation
  MixinAfter
    Support for the `MixinAfter` mixin class annotation
  PageReset
    Checks for the `PageReset` annotation
  Mixin
    Adds a mixin as part of a component's implementation
  Cached
    Checks for the `Cached` annotation
  ActivationRequestParameter
    Support for the `ActivationRequestParameter` annotation
  PageLoaded, PageAttached, PageDetached
    Support for annotations `PageLoaded`, `PageAttached`, `PageDetached`
  InjectService
    Handles the `InjectService` annotation
  Component
    Defines embedded components based on the `Component` annotation
  Environment
    Allows fields to contain values extracted from the `Environment` service
  ApplicationState
    Converts fields that reference application state objects
  Persist
    Allows fields to store their their value persistently between requests via `Persist`
  SessionAttribute
    Support for the `SessionAttribute`
  Log
    Checks for the `Log` annotation
  HeartbeatDeferred
    Support for the `HeartbeatDeferred` annotation, which defers method invocation to the end of the `Heartbeat`
  Inject
    Used with the `Inject` annotation, when a value is supplied

### contributeDataTypeAnalyzer

    public static void contributeDataTypeAnalyzer(OrderedConfiguration<DataTypeAnalyzer> configuration,
                                                  @InjectService(value="DefaultDataTypeAnalyzer")
                                                  DataTypeAnalyzer defaultDataTypeAnalyzer)

  Annotation
    Checks for `DataType` annotation
  Default (ordered last)
    `DefaultDataTypeAnalyzer` service ( `contributeDefaultDataTypeAnalyzer(org.apache.tapestry5.ioc.MappedConfiguration)` )

### contributeDefaultDataTypeAnalyzer

    public static void contributeDefaultDataTypeAnalyzer(MappedConfiguration<java.lang.Class,java.lang.String> configuration)

  Maps property types to data type names:
  - String --> text
  - Number --> number
  - Enum --> enum
  - Boolean --> boolean
  - Date --> date

### provideDefaultBeanBlocks

    @Contribute(value=BeanBlockSource.class)
    public static void provideDefaultBeanBlocks(Configuration<BeanBlockContribution> configuration)

### contributeFieldValidatorSource

    public static void contributeFieldValidatorSource(MappedConfiguration<java.lang.String,Validator> configuration)

  Contributes the basic set of validators:
  - required
  - minlength
  - maxlength
  - min
  - max
  - regexp
  - email
  - none

### provideStandardInjectionProviders

    @Contribute(value=InjectionProvider2.class)
    public static void provideStandardInjectionProviders(OrderedConfiguration<InjectionProvider2> configuration,
                                                                                                 SymbolSource symbolSource,
                                                                                                 AssetSource assetSource)

  Default
    based on `MasterObjectProvider`
  Named
    Handles fields with the `Named` annotation
  Block
    injects fields of type `Block`
  CommonResources
    Access to properties of resources (log, messages, etc.)
  Asset
    injection of assets (triggered via `Path` annotation), with the path relative to the component class
  Service
    Ordered last, for use when Inject is present and nothing else works, matches field type against Tapestry IoC services

### contributeMasterObjectProvider

    public static void contributeMasterObjectProvider(OrderedConfiguration<ObjectProvider> configuration,
                                                      @InjectService(value="AssetObjectProvider")
                                                      ObjectProvider assetObjectProvider,
                                                      ObjectLocator locator)

  Contributes two object providers:
  Asset
    Checks for the `Path` annotation, and injects an `Asset`
  Service
    Injects based on the `Service` annotation, if present
  ApplicationMessages
    Injects the global application messages

### contributeHttpServletRequestHandler

    public void contributeHttpServletRequestHandler(OrderedConfiguration<HttpServletRequestFilter> configuration,
                                                    @Symbol(value="tapestry.gzip-compression-enabled")
                                                    boolean gzipCompressionEnabled,
                                                    @Autobuild
                                                    GZipFilter gzipFilter,
                                                    @InjectService(value="IgnoredPathsFilter")
                                                    HttpServletRequestFilter ignoredPathsFilter)

  StoreIntoGlobals
    Stores the request and response into `RequestGlobals` at the start of the pipeline
  IgnoredPaths
    Identifies requests that are known (via the IgnoredPathsFilter service's configuration) to be mapped to other applications
  GZip
    Handles GZIP compression of response streams (if supported by client)

  ### contributeRequestHandler

      public void contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration,
                                           Context context,
                                           @Symbol(value="tapestry.production-mode")
                                           boolean productionMode)

    Continues a number of filters into the RequestHandler service:
    StaticFiles
      Checks to see if the request is for an actual file, if so, returns true to let the servlet container process the request
    CheckForUpdates
      Periodically fires events that checks to see if the file system sources for any cached data has changed (see `CheckForUpdatesFilter`). Starting in 5.3, this filter will be null in production mode (it will only be active in development mode).
    ErrorFilter
      Catches request errors and lets the `RequestExceptionHandler` handle them
    StoreIntoGlobals
      Stores the request and response into the `RequestGlobals` service (this is repeated at the end of the pipeline, in case any filter substitutes the request or response).
    EndOfRequest
      Notifies internal services that the request has ended

  ### contributeTranslatorSource

      public static void contributeTranslatorSource(MappedConfiguration<java.lang.Class,Translator> configuration,
                                                    NumericTranslatorSupport support)

    Contributes the basic set of translators:
    - string
    - byte
    - short
    - integer
    - long
    - float
    - double
    - BigInteger
    - BigDecimal

  ### contributeTypeCoercer

      public static void contributeTypeCoercer(Configuration<CoercionTuple> configuration,
                                               @Builtin
                                               TypeCoercer coercer,
                                               @Builtin
                                               ThreadLocale threadLocale,
                                               @Core
                                               AssetSource assetSource,
                                               @Core
                                               ComponentClassCache classCache,
                                               @Core
                                               DynamicTemplateParser dynamicTemplateParser)

    Adds coercions:
    - String to `SelectModel`
    - Map to `SelectModel`
    - Collection to `GridDataSource`
    - null to `GridDataSource`
    - List to `SelectModel`
    - `ComponentResourcesAware` (typically, a component) to `ComponentResources`
    - `ComponentResources` to `PropertyOverrides`
    - String to `Renderable`
    - `Renderable` to `Block`
    - String to `DateFormat`
    - String to `Resource` (via `AssetSource.resourceForPath(String)`)
    - `Renderable` to `RenderCommand`
    - String to `Pattern`
    - String to `DateFormat`
    - `ComponentClassTransformWorker` to `ComponentClassTransformWorker2`
    - `InjectionProvider` to `InjectionProvider2`
    - `Resource` to `DynamicTemplate`
    - `Asset` to `Resource`
    - `ValueEncoder` to `ValueEncoderFactory`

  ### contributeValidationConstraintGenerator

      public static void contributeValidationConstraintGenerator(OrderedConfiguration<ValidationConstraintGenerator> configuration)

    Adds built-in constraint generators:
    - PrimtiveField -- primitive fields are always required
    - ValidateAnnotation -- adds constraints from a `Validate` annotation

  ### buildContext

      public Context buildContext(ApplicationGlobals globals)

  ### buildComponentClassResolver

      public static ComponentClassResolver buildComponentClassResolver(@Autobuild
                                                                       ComponentClassResolverImpl service,
                                                                       @ComponentClasses
                                                                       InvalidationEventHub hub)

  ### buildContextAssetFactory

      @Marker(value=ContextProvider.class)
      public AssetFactory buildContextAssetFactory(ApplicationGlobals globals,
                                                                                    AssetPathConstructor assetPathConstructor,
                                                                                    AssetPathConverter converter)

  ### buildPropBindingFactory

      public BindingFactory buildPropBindingFactory(java.util.List<BindingFactory> configuration,
                                                    @Autobuild
                                                    PropBindingFactory service)

    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 TAP5-79 for details. There are no longer any built-in contributions to the configuration.

    Parameters:
      `configuration` - contributions of special factories for some constants, each contributed factory may return a binding if applicable, or null otherwise

  ### buildMetaDataLocator

      public static MetaDataLocator buildMetaDataLocator(@Autobuild
                                                         MetaDataLocatorImpl service,
                                                         @ComponentClasses
                                                         InvalidationEventHub hub)

  ### buildClientPersistentFieldStrategy

      public PersistentFieldStrategy buildClientPersistentFieldStrategy(LinkCreationHub linkCreationHub,
                                                                        @Autobuild
                                                                        ClientPersistentFieldStrategy service)

  ### buildRenderSupport

      public RenderSupport buildRenderSupport()

    Builds a proxy to the current `RenderSupport` inside this thread's `Environment`.

  ### buildJavaScriptSupport

      public JavaScriptSupport buildJavaScriptSupport()

    Builds a proxy to the current `JavaScriptSupport` inside this thread's `Environment`.

    Since:
      5.2.0

  ### buildClientBehaviorSupport

      public ClientBehaviorSupport buildClientBehaviorSupport()

    Builds a proxy to the current `ClientBehaviorSupport` inside this thread's `Environment`.

    Since:
      5.1.0.1

  ### buildFormSupport

      public FormSupport buildFormSupport()

    Builds a proxy to the current `FormSupport` inside this thread's `Environment`.

  ### buildComponentClassTransformWorker

      @Marker(value=Primary.class)
      public ComponentClassTransformWorker2 buildComponentClassTransformWorker(java.util.List<ComponentClassTransformWorker2> configuration)

    Allows the exact steps in the component class transformation process to be defined.

  ### buildDataTypeAnalyzer

      @Marker(value=Primary.class)
      public DataTypeAnalyzer buildDataTypeAnalyzer(java.util.List<DataTypeAnalyzer> configuration)

    Analyzes properties to determine the data types, used to provideDefaultBeanBlocks(org.apache.tapestry5.ioc.Configuration) locale display and edit blocks for properties. The default behaviors look for a `DataType` annotation before deriving the data type from the property type.

  ### buildInjectionProvider

      public InjectionProvider2 buildInjectionProvider(java.util.List<InjectionProvider2> configuration)

    A chain of command for providing values for `Inject`-ed fields in component classes. The service's configuration can be extended to allow for different automatic injections (based on some combination of field type and field name).

    Note that contributions to this service may be old-style `InjectionProvider`, which will be coerced to `InjectionProvider2`.

  ### buildApplicationInitializer

      @Marker(value=Primary.class)
      public ApplicationInitializer buildApplicationInitializer(org.slf4j.Logger logger,
                                                                                         java.util.List<ApplicationInitializerFilter> configuration)

    Initializes the application, using a pipeline of `ApplicationInitializer`s.

  ### buildHttpServletRequestHandler

      public HttpServletRequestHandler buildHttpServletRequestHandler(org.slf4j.Logger logger,
                                                                      java.util.List<HttpServletRequestFilter> configuration,
                                                                      @Primary
                                                                      RequestHandler handler,
                                                                      @Symbol(value="tapestry.charset")
                                                                      java.lang.String applicationCharset,
                                                                      TapestrySessionFactory sessionFactory)

  ### buildRequestHandler

      @Marker(value=Primary.class)
      public RequestHandler buildRequestHandler(org.slf4j.Logger logger,
                                                                         java.util.List<RequestFilter> configuration,
                                                                         @Primary
                                                                         Dispatcher masterDispatcher)

  ### buildServletApplicationInitializer

      public ServletApplicationInitializer buildServletApplicationInitializer(org.slf4j.Logger logger,
                                                                              java.util.List<ServletApplicationInitializerFilter> configuration,
                                                                              @Primary
                                                                              ApplicationInitializer initializer)

  ### buildComponentEventResultProcessor

      @Marker(value={Primary.class,Traditional.class})
      public ComponentEventResultProcessor buildComponentEventResultProcessor(java.util.Map<java.lang.Class,ComponentEventResultProcessor> configuration,
                                                                                                                        @ComponentClasses
                                                                                                                        InvalidationEventHub hub)

    The component event result processor used for normal component requests.

  ### buildAjaxComponentEventResultProcessor

      @Marker(value=Ajax.class)
      public ComponentEventResultProcessor buildAjaxComponentEventResultProcessor(java.util.Map<java.lang.Class,ComponentEventResultProcessor> configuration,
                                                                                                        @ComponentClasses
                                                                                                        InvalidationEventHub hub)

    The component event result processor used for Ajax-oriented component requests.

  ### buildDefaultDataTypeAnalyzer

      public static DataTypeAnalyzer buildDefaultDataTypeAnalyzer(@Autobuild
                                                                  DefaultDataTypeAnalyzer service,
                                                                  @ComponentClasses
                                                                  InvalidationEventHub hub)

    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).

  ### buildTranslatorSource

      public static TranslatorSource buildTranslatorSource(java.util.Map<java.lang.Class,Translator> configuration,
                                                           TranslatorAlternatesSource alternatesSource,
                                                           @ComponentClasses
                                                           InvalidationEventHub hub)

  ### buildObjectRenderer

      @Marker(value=Primary.class)
      public ObjectRenderer buildObjectRenderer(java.util.Map<java.lang.Class,ObjectRenderer> configuration)

  ### buildComponentClassFactory

      @Marker(value=ComponentLayer.class)
      public ClassFactory buildComponentClassFactory(ComponentInstantiatorSource source)

    Returns a `ClassFactory` that can be used to create extra classes around component classes. This ClassFactory will be cleared whenever an underlying component class is discovered to have changed. Use of this class factory implies that your code will become aware of this (if necessary) to discard any cached object (alas, this currently involves dipping into the internals side to register for the correct notifications). Failure to properly clean up can result in really nasty PermGen space memory leaks.

  ### buildComponentProxyFactory

      @Marker(value=ComponentLayer.class)
      public PlasticProxyFactory buildComponentProxyFactory(ComponentInstantiatorSource source)

    Returns a `PlasticProxyFactory` that can be used to create extra classes around component classes. This factory will be cleared whenever an underlying component class is discovered to have changed. Use of this factory implies that your code will become aware of this (if necessary) to discard any cached object (alas, this currently involves dipping into the internals side to register for the correct notifications). Failure to properly clean up can result in really nasty PermGen space memory leaks.

  ### buildMasterDispatcher

      @Marker(value=Primary.class)
      public Dispatcher buildMasterDispatcher(java.util.List<Dispatcher> configuration)

    Ordered contributions to the MasterDispatcher service allow different URL matching strategies to occur.

  ### buildRequest

      public Request buildRequest()

    Builds a shadow of the RequestGlobals.request property. Note again that the shadow can be an ordinary singleton, even though RequestGlobals is perthread.

  ### buildHttpServletRequest

      public javax.servlet.http.HttpServletRequest buildHttpServletRequest()

    Builds a shadow of the RequestGlobals.HTTPServletRequest property. Generally, you should inject the `Request` service instead, as future version of Tapestry may operate beyond just the servlet API.

  ### buildHttpServletResponse

      public javax.servlet.http.HttpServletResponse buildHttpServletResponse()

    Since:
      5.1.0.0

  ### buildResponse

      public Response buildResponse()

    Builds a shadow of the RequestGlobals.response property. Note again that the shadow can be an ordinary singleton, even though RequestGlobals is perthread.

  ### buildMarkupRenderer

      public MarkupRenderer buildMarkupRenderer(org.slf4j.Logger logger,
                                                @Autobuild
                                                MarkupRendererTerminator terminator,
                                                java.util.List<MarkupRendererFilter> configuration)

    The MarkupRenderer service is used to render a full page as markup. Supports an ordered configuration of `MarkupRendererFilter`s.

  ### buildPartialMarkupRenderer

      public PartialMarkupRenderer buildPartialMarkupRenderer(org.slf4j.Logger logger,
                                                              java.util.List<PartialMarkupRendererFilter> configuration,
                                                              @Autobuild
                                                              PartialMarkupRendererTerminator terminator)

    A wrapper around `PageRenderQueue` used for partial page renders. Supports an ordered configuration of `PartialMarkupRendererFilter`s.

    See Also:
      `contributePartialMarkupRenderer(org.apache.tapestry5.ioc.OrderedConfiguration, org.apache.tapestry5.services.ValidationDecoratorFactory, org.apache.tapestry5.services.javascript.JavaScriptStackSource, org.apache.tapestry5.internal.services.javascript.JavaScriptStackPathConstructor, org.apache.tapestry5.ioc.services.SymbolSource, org.apache.tapestry5.services.AssetSource)`

  ### buildPageRenderRequestHandler

      public PageRenderRequestHandler buildPageRenderRequestHandler(java.util.List<PageRenderRequestFilter> configuration,
                                                                    org.slf4j.Logger logger,
                                                                    @Autobuild
                                                                    PageRenderRequestHandlerImpl terminator)

  ### buildComponentEventRequestHandler

      @Marker(value={Traditional.class,Primary.class})
      public ComponentEventRequestHandler buildComponentEventRequestHandler(java.util.List<ComponentEventRequestFilter> configuration,
                                                                                                                      org.slf4j.Logger logger,
                                                                                                                      @Autobuild
                                                                                                                      ComponentEventRequestHandlerImpl terminator)

    Builds the component action request handler for traditional (non-Ajax) requests. These typically result in a redirect to a Tapestry render URL.

  ### buildAjaxComponentEventRequestHandler

      @Marker(value={Ajax.class,Primary.class})
      public ComponentEventRequestHandler buildAjaxComponentEventRequestHandler(java.util.List<ComponentEventRequestFilter> configuration,
                                                                                                                   org.slf4j.Logger logger,
                                                                                                                   @Autobuild
                                                                                                                   AjaxComponentEventRequestHandler terminator)

    Builds the action request handler for Ajax requests, based on a pipeline around `AjaxComponentEventRequestHandler` . Filters on the request handler are supported here as well.

  ### contributeApplicationStatePersistenceStrategySource

      public void contributeApplicationStatePersistenceStrategySource(MappedConfiguration<java.lang.String,ApplicationStatePersistenceStrategy> configuration,
                                                                      @Local
                                                                      ApplicationStatePersistenceStrategy sessionStategy)

    Contributes the default "session" strategy.

  ### contributeAssetSource

      public void contributeAssetSource(MappedConfiguration<java.lang.String,AssetFactory> configuration,
                                        @ContextProvider
                                        AssetFactory contextAssetFactory,
                                        @ClasspathProvider
                                        AssetFactory classpathAssetFactory)

  ### contributeComponentEventResultProcessor

      public void contributeComponentEventResultProcessor(@Traditional@ComponentInstanceProcessor
                                                          ComponentEventResultProcessor componentInstanceProcessor,
                                                          MappedConfiguration<java.lang.Class,ComponentEventResultProcessor> configuration)

    Contributes handlers for the following types:
    Object
      Failure case, added to provide a more useful exception message
    `Link`
      Sends a redirect to the link (which is typically a page render link)
    String
      Sends a page render redirect
    Class
      Interpreted as the class name of a page, sends a page render render redirect (this is more refactoring safe than the page name)
    `Component`
      A page's root component (though a non-root component will work, but will generate a warning). A direct to the containing page is sent.
    `StreamResponse`
      The stream response is sent as the actual reply.
    URL
      Sends a redirect to a (presumably) external URL

  ### provideBaseAjaxComponentEventResultProcessors

      @Contribute(value=ComponentEventResultProcessor.class)
      @Ajax
      public static void provideBaseAjaxComponentEventResultProcessors(MappedConfiguration<java.lang.Class,ComponentEventResultProcessor> configuration)

    Contributes handlers for the following types:
    Object
      Failure case, added to provide more useful exception message
    `RenderCommand`
      Typically, a `Block`
    `Component`
      Renders the component and its body (unless its a page, in which case a redirect JSON response is sent)
    `JSONObject` or `JSONArray`
      The JSONObject is returned as a text/javascript response
    `StreamResponse`
      The stream response is sent as the actual response
    String
      Interprets the value as a logical page name and sends a client response to redirect to that page
    `Link`
      Sends a JSON response to redirect to the link
    `Class`
      Treats the class as a page class and sends a redirect for a page render for that page
    `MultiZoneUpdate`
      Sends a single JSON response to update the content of multiple zones

    In most cases, when you want to support a new type, you should convert it to one of the built-in supported types (such as `RenderCommand`. You can then inject the master AjaxComponentEventResultProcessor (use the `Ajax` marker annotation) and delegate to it.

  ### contributeMasterDispatcher

      public static void contributeMasterDispatcher(OrderedConfiguration<Dispatcher> configuration,
                                                    @InjectService(value="AssetDispatcher")
                                                    Dispatcher assetDispatcher)

    The MasterDispatcher is a chain-of-command of individual Dispatchers, each handling (like a servlet) a particular kind of incoming request.
    RootPath
      Renders the start page for the "/" request (outdated)
    Asset
      Provides access to assets (context, classpath and virtual) via `AssetDispatcher`
    PageRender
      Identifies the `PageRenderRequestParameters` and forwards onto `PageRenderRequestHandler`
    ComponentEvent
      Identifies the `ComponentEventRequestParameters` and forwards onto the `ComponentEventRequestHandler`

  ### contributeObjectRenderer

      public void contributeObjectRenderer(MappedConfiguration<java.lang.Class,ObjectRenderer> configuration,
                                           @InjectService(value="LocationRenderer")
                                           ObjectRenderer locationRenderer,
                                           TypeCoercer typeCoercer)

    Contributes a default object renderer for type Object, plus specialized renderers for `Request`, `Location`, `ComponentResources`, `EventContext`, `AvailableValues`, List, and Object[].

  ### contributeMarkupRenderer

      public void contributeMarkupRenderer(OrderedConfiguration<MarkupRendererFilter> configuration,
                                           @Symbol(value="tapestry.omit-generator-meta")
                                           boolean omitGeneratorMeta,
                                           @Symbol(value="tapestry.version")
                                           java.lang.String tapestryVersion,
                                           @Symbol(value="tapestry.compact-json")
                                           boolean compactJSON,
                                           SymbolSource symbolSource,
                                           AssetSource assetSource,
                                           JavaScriptStackSource javascriptStackSource,
                                           JavaScriptStackPathConstructor javascriptStackPathConstructor,
                                           ValidationDecoratorFactory validationDecoratorFactory,
                                           @Path(value="${tapestry.default-stylesheet}")
                                           Asset defaultStylesheet)

    Adds page render filters, each of which provides an `Environmental` service. Filters often provide `Environmental` services needed by components as they render.
    DocumentLinker
      Provides `DocumentLinker`
    JavascriptSupport
      Provides `JavaScriptSupport`
    RenderSupport
      Provides `RenderSupport`
    InjectDefaultStylesheet
      Injects the default stylesheet into all pages
    ClientBehaviorSupport
      Provides `ClientBehaviorSupport`
    Heartbeat
      Provides `Heartbeat`
    ValidationDecorator
      Provides `ValidationDecorator` (via `ValidationDecoratorFactory.newInstance(org.apache.tapestry5.MarkupWriter)`)

  ### contributePartialMarkupRenderer

      public void contributePartialMarkupRenderer(OrderedConfiguration<PartialMarkupRendererFilter> configuration,
                                                  ValidationDecoratorFactory validationDecoratorFactory,
                                                  JavaScriptStackSource javascriptStackSource,
                                                  JavaScriptStackPathConstructor javascriptStackPathConstructor,
                                                  SymbolSource symbolSource,
                                                  AssetSource assetSource)

    Contributes `PartialMarkupRendererFilter`s used when rendering a partial Ajax response.
    DocumentLinker
      Provides `DocumentLinker`
    JavaScriptSupport
      Provides `JavaScriptSupport`
    PageRenderSupport
      Provides `RenderSupport`
    ClientBehaviorSupport
      Provides `ClientBehaviorSupport`
    Heartbeat
      Provides `Heartbeat`
    DefaultValidationDecorator
    ValidationDecorator
      Provides `ValidationDecorator` (via `ValidationDecoratorFactory.newInstance(org.apache.tapestry5.MarkupWriter)`)

  ### contributePersistentFieldManager

      public void contributePersistentFieldManager(MappedConfiguration<java.lang.String,PersistentFieldStrategy> configuration,
                                                   Request request,
                                                   @InjectService(value="ClientPersistentFieldStrategy")
                                                   PersistentFieldStrategy clientStrategy)

    Contributes several strategies:
    session
      Values are stored in the `Session`
    flash
      Values are stored in the `Session`, until the next request (for the page)
    client
      Values are encoded into URLs (or hidden form fields)

  ### buildValueEncoderSource

      public static ValueEncoderSource buildValueEncoderSource(java.util.Map<java.lang.Class,ValueEncoderFactory> configuration,
                                                               @ComponentClasses
                                                               InvalidationEventHub hub)

  ### contributeValueEncoderSource

      public static void contributeValueEncoderSource(MappedConfiguration<java.lang.Class,java.lang.Object> configuration)

    Contributes `ValueEncoder`s or `ValueEncoderFactory`s for types:
    - Object
    - String
    - Enum

  ### contributePageRenderRequestHandler

      public void contributePageRenderRequestHandler(OrderedConfiguration<PageRenderRequestFilter> configuration,
                                                     RequestSecurityManager securityManager)

    Contributes a single filter, "Secure", which checks for non-secure requests that access secure pages.

  ### contributeResourceDigestGenerator

      public static void contributeResourceDigestGenerator(Configuration<java.lang.String> configuration)

    Configures the extensions that will require a digest to be downloaded via the asset dispatcher. Most resources are "safe", they don't require a digest. For unsafe resources, the digest is incorporated into the URL to ensure that the client side isn't just "fishing".

    The extensions must be all lower case.

    This contributes "class", "properties" and "tml" (the template extension).

    Parameters:
      `configuration` - collection of extensions

  ### contributeTemplateParser

      public static void contributeTemplateParser(MappedConfiguration<java.lang.String,java.net.URL> config)

  ### contributeFactoryDefaults

      public static void contributeFactoryDefaults(MappedConfiguration<java.lang.String,java.lang.Object> configuration)

    Contributes factory defaults that may be overridden.

  ### contributeApplicationInitializer

      public void contributeApplicationInitializer(OrderedConfiguration<ApplicationInitializerFilter> configuration,
                                                   TypeCoercer typeCoercer,
                                                   ComponentClassResolver componentClassResolver,
                                                   @ComponentClasses
                                                   InvalidationEventHub invalidationEventHub,
                                                   @Autobuild
                                                   RestoreDirtySessionObjects restoreDirtySessionObjects)

    Adds a listener to the `ComponentInstantiatorSource` that clears the `PropertyAccess` and `TypeCoercer` caches on a class loader invalidation. In addition, forces the realization of `ComponentClassResolver` at startup.

  ### contributeComponentEventRequestHandler

      public void contributeComponentEventRequestHandler(OrderedConfiguration<ComponentEventRequestFilter> configuration,
                                                         RequestSecurityManager requestSecurityManager,
                                                         @Ajax
                                                         ComponentEventRequestHandler ajaxHandler)

    Contributes filters:
    Ajax
      Determines if the request is Ajax oriented, and redirects to an alternative handler if so
    ImmediateRender
      When immediate action response rendering is enabled, generates the markup response (instead of a page redirect response, which is the normal behavior)
    Secure
      Sends a redirect if an non-secure request accesses a secure page

  ### contributeAjaxComponentEventRequestHandler

      public static void contributeAjaxComponentEventRequestHandler(OrderedConfiguration<ComponentEventRequestFilter> configuration)

    Contributes:
    AjaxFormUpdate
      `AjaxFormUpdateFilter`

    Since:
      5.2.0

  ### contributeNullFieldStrategySource

      public static void contributeNullFieldStrategySource(MappedConfiguration<java.lang.String,NullFieldStrategy> configuration)

    Contributes strategies accessible via the `NullFieldStrategySource` service.

    default
      Does nothing, nulls stay null.
    zero
      Null values are converted to zero.

  ### contributeHiddenFieldLocationRules

      public static void contributeHiddenFieldLocationRules(MappedConfiguration<java.lang.String,RelativeElementPosition> configuration)

    Determines positioning of hidden fields relative to other elements (this is needed by `FormFragment` and others.

    For elements input, select, textarea and label the hidden field is positioned after.

    For elements p, div, li and td, the hidden field is positioned inside.

  ### buildLinkCreationHub

      public static LinkCreationHub buildLinkCreationHub(LinkSource source)

    Since:
      5.1.0.0

  ### buildComponentClassesInvalidationEventHub

      @Marker(value=ComponentClasses.class)
      public static InvalidationEventHub buildComponentClassesInvalidationEventHub(InternalComponentInvalidationEventHub trueHub)

    Exposes the public portion of the internal `InternalComponentInvalidationEventHub` service.

    Since:
      5.1.0.0

  ### buildComponentTemplatesInvalidationEventHub

      @Marker(value=ComponentTemplates.class)
      public static InvalidationEventHub buildComponentTemplatesInvalidationEventHub(ComponentTemplateSource templateSource)

    Since:
      5.1.0.0

  ### buildComponentMessagesInvalidationEventHub

      @Marker(value=ComponentMessages.class)
      public static InvalidationEventHub buildComponentMessagesInvalidationEventHub(ComponentMessagesSource messagesSource)

    Since:
      5.1.0.0

  ### buildEnvironment

      @Scope(value="perthread")
      public Environment buildEnvironment(PerthreadManager perthreadManager)

  ### buildSessionPersistedObjectAnalyzer

      @Marker(value=Primary.class)
      public SessionPersistedObjectAnalyzer buildSessionPersistedObjectAnalyzer(java.util.Map<java.lang.Class,SessionPersistedObjectAnalyzer> configuration)

    The master SessionPersistedObjectAnalyzer.

    Since:
      5.1.0.0

  ### contributeSessionPersistedObjectAnalyzer

      public static void contributeSessionPersistedObjectAnalyzer(MappedConfiguration<java.lang.Class,SessionPersistedObjectAnalyzer> configuration)

    Identifies String, Number and Boolean as immutable objects, a catch-all handler for Object (that understands the `ImmutableSessionPersistedObject` annotation), and a handler for `OptimizedSessionPersistedObject`.

    Since:
      5.1.0.0

  ### buildMasterStackTraceElementAnalyzer

      @Marker(value=Primary.class)
      public StackTraceElementAnalyzer buildMasterStackTraceElementAnalyzer(java.util.List<StackTraceElementAnalyzer> configuration)

    Since:
      5.1.1.0

  ### contributeMasterStackTraceElementAnalyzer

      public static void contributeMasterStackTraceElementAnalyzer(OrderedConfiguration<StackTraceElementAnalyzer> configuration)

    Contributes:
    Application
      Checks for classes in the application package
    Proxies
      Checks for classes that appear to be generated proxies.
    SunReflect
      Checks for `sun.reflect` (which are omitted)
    TapestryAOP
      Omits stack frames for classes related to Tapestry AOP (such as advice, etc.)
    OperationTracker
      Omits stack frames related to `OperationTracker`

    Since:
      5.1.0.0

  ### adviseLazy

      @Match(value="ComponentMessagesSource")
      public static void adviseLazy(LazyAdvisor advisor,
                                               MethodAdviceReceiver receiver)

    Advises the `ComponentMessagesSource` service so that the creation of `Messages` instances can be deferred.

    Since:
      5.1.0.0

  ### buildComponentRequestHandler

      public ComponentRequestHandler buildComponentRequestHandler(java.util.List<ComponentRequestFilter> configuration,
                                                                  @Autobuild
                                                                  ComponentRequestHandlerTerminator terminator,
                                                                  org.slf4j.Logger logger)

    Since:
      5.1.0.0

  ### contributeComponentRequestHandler

      public void contributeComponentRequestHandler(OrderedConfiguration<ComponentRequestFilter> configuration)

    Contributes:
    InitializeActivePageName
      `InitializeActivePageName`

    Since:
      5.2.0

  ### decorateFieldValidatorDefaultSource

      public static FieldValidatorDefaultSource decorateFieldValidatorDefaultSource(FieldValidatorDefaultSource defaultSource,
                                                                                    Environment environment)

    Decorate FieldValidatorDefaultSource to setup the EnvironmentMessages object and place it in the environment. Although this could have been implemented directly in the default implementation of the service, doing it as service decoration ensures that the environment will be properly setup even if a user overrides the default service implementation.

    Parameters:
      `defaultSource` - The service to decorate
      `environment` -

  ### buildHeartbeat

      public Heartbeat buildHeartbeat()

    Exposes the Environmental `Heartbeat` as an injectable service.

    Since:
      5.2.0

  ### contributeJavaScriptStackSource

      public static void contributeJavaScriptStackSource(MappedConfiguration<java.lang.String,JavaScriptStack> configuration)

    Contributes the "core" and "core-datefield" `JavaScriptStack`s

    Since:
      5.2.0

  ### buildComponentMessagesSource

      public static ComponentMessagesSource buildComponentMessagesSource(UpdateListenerHub updateListenerHub,
                                                                         @Autobuild
                                                                         ComponentMessagesSourceImpl service)

  ### contributeComponentMessagesSource

      public static void contributeComponentMessagesSource(AssetSource assetSource,
                                                           @Symbol(value="tapestry.app-catalog")
                                                           Resource applicationCatalog,
                                                           OrderedConfiguration<Resource> configuration)

    Contributes:
    AppCatalog
      The Resource defined by `SymbolConstants.APPLICATION_CATALOG`
    ValidationMessages
      Messages used by validators (before:AppCatalog)

      Since:
        5.2.0

    ### contributeMetaWorker

        public static void contributeMetaWorker(MappedConfiguration<java.lang.Class,MetaDataExtractor> configuration)

      Contributes extractors for `Meta`, `Secure`, `ContentType` and `WhitelistAccessOnly` annotations.

      Since:
        5.2.0

    ### buildComponentTemplateLocator

        @Marker(value=Primary.class)
        public ComponentTemplateLocator buildComponentTemplateLocator(java.util.List<ComponentTemplateLocator> configuration)

      Builds the `ComponentTemplateLocator` as a chain of command.

      Since:
        5.2.0

    ### contributeComponentTemplateLocator

        public static void contributeComponentTemplateLocator(OrderedConfiguration<ComponentTemplateLocator> configuration,
                                                              @ContextProvider
                                                              AssetFactory contextAssetFactory,
                                                              @Symbol(value="tapestry.application-folder")
                                                              java.lang.String applicationFolder,
                                                              ComponentClassResolver componentClassResolver)

      Contributes two template locators:
      Default
        Searches for the template on the classpath (`DefaultTemplateLocator`
      Page
        Searches for page templates in the context (`PageTemplateLocator`)

      Since:
        5.2.0

    ### buildComponentEventLinkTransformer

        @Marker(value=Primary.class)
        public ComponentEventLinkTransformer buildComponentEventLinkTransformer(java.util.List<ComponentEventLinkTransformer> configuration)

      Builds `ComponentEventLinkTransformer` service as a chain of command.

      Since:
        5.2.0

    ### buildPageRenderLinkTransformer

        @Marker(value=Primary.class)
        public PageRenderLinkTransformer buildPageRenderLinkTransformer(java.util.List<PageRenderLinkTransformer> configuration)

      Builds `PageRenderLinkTransformer` service as a chain of command.

      Since:
        5.2.0

    ### decorateLinkTransformer

        @Match(value="ComponentEventLinkEncoder")
        public ComponentEventLinkEncoder decorateLinkTransformer(LinkTransformer linkTransformer,
                                                                            ComponentEventLinkEncoder delegate)

      Provides the "LinkTransformer" interceptor for the `ComponentEventLinkEncoder` service. Other decorations should come after LinkTransformer.

      Since:
        5.2.0

    ### productionModeOverrides

        @Contribute(value=ServiceOverride.class)
        public static void productionModeOverrides(MappedConfiguration<java.lang.Class,java.lang.Object> configuration,
                                                                                        @Symbol(value="tapestry.production-mode")
                                                                                        boolean productionMode)

      In production mode, override `UpdateListenerHub` to be an empty placeholder.

    ### defaultWhitelist

        @Contribute(value=ClientWhitelist.class)
        public static void defaultWhitelist(OrderedConfiguration<WhitelistAnalyzer> configuration)

      Contributes a single default analyzer:
      LocalhostOnly
        Identifies requests from localhost as on client whitelist

      Since:
        5.3

    ### registerToClearPlasticProxyFactoryOnInvalidation

        @Startup
        public static void registerToClearPlasticProxyFactoryOnInvalidation(@ComponentClasses
                                                                                    InvalidationEventHub hub,
                                                                                    @Builtin
                                                                                    PlasticProxyFactory proxyFactory)

    Overview | Package | Class | Use | Tree | Deprecated | Index | Help
    PREV CLASS NEXT CLASS | FRAMES NO FRAMES
    SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

    Copyright © 2003-2012 The Apache Software Foundation.