org.apache.tapestry5.services
Class TapestryModule

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

@Marker(value=Core.class)
@SubModule(value={InternalModule.class,AssetsModule.class,PageLoadModule.class})
public final class TapestryModule
extends 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<String,String> configuration, String appPackage)
           
static void addMappingsForLibraryVirtualFolders(MappedConfiguration<String,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(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(Map<Class,ComponentEventResultProcessor> configuration, InvalidationEventHub hub)
          The component event result processor used for Ajax-oriented component requests.
 ApplicationInitializer buildApplicationInitializer(org.slf4j.Logger logger, List<ApplicationInitializerFilter> configuration)
          Initializes the application, using a pipeline of ApplicationInitializers.
 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(List<ComponentClassTransformWorker2> configuration)
          Allows the exact steps in the component class transformation process to be defined.
 ComponentEventLinkTransformer buildComponentEventLinkTransformer(List<ComponentEventLinkTransformer> configuration)
          Builds ComponentEventLinkTransformer service as a chain of command.
 ComponentEventRequestHandler buildComponentEventRequestHandler(List<ComponentEventRequestFilter> configuration, org.slf4j.Logger logger, ComponentEventRequestHandlerImpl terminator)
          Builds the component action request handler for traditional (non-Ajax) requests.
 ComponentEventResultProcessor buildComponentEventResultProcessor(Map<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(List<ComponentRequestFilter> configuration, ComponentRequestHandlerTerminator terminator, org.slf4j.Logger logger)
           
 ComponentTemplateLocator buildComponentTemplateLocator(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(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.
 HttpServletRequest buildHttpServletRequest()
          Builds a shadow of the RequestGlobals.HTTPServletRequest property.
 HttpServletRequestHandler buildHttpServletRequestHandler(org.slf4j.Logger logger, List<HttpServletRequestFilter> configuration, RequestHandler handler, String applicationCharset, TapestrySessionFactory sessionFactory)
           
 HttpServletResponse buildHttpServletResponse()
           
 InjectionProvider2 buildInjectionProvider(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, List<MarkupRendererFilter> configuration)
          The MarkupRenderer service is used to render a full page as markup.
 Dispatcher buildMasterDispatcher(List<Dispatcher> configuration)
          Ordered contributions to the MasterDispatcher service allow different URL matching strategies to occur.
 StackTraceElementAnalyzer buildMasterStackTraceElementAnalyzer(List<StackTraceElementAnalyzer> configuration)
           
static MetaDataLocator buildMetaDataLocator(MetaDataLocatorImpl service, InvalidationEventHub hub)
           
 ObjectRenderer buildObjectRenderer(Map<Class,ObjectRenderer> configuration)
           
 PageRenderLinkTransformer buildPageRenderLinkTransformer(List<PageRenderLinkTransformer> configuration)
          Builds PageRenderLinkTransformer service as a chain of command.
 PageRenderRequestHandler buildPageRenderRequestHandler(List<PageRenderRequestFilter> configuration, org.slf4j.Logger logger, PageRenderRequestHandlerImpl terminator)
           
 PartialMarkupRenderer buildPartialMarkupRenderer(org.slf4j.Logger logger, List<PartialMarkupRendererFilter> configuration, PartialMarkupRendererTerminator terminator)
          A wrapper around PageRenderQueue used for partial page renders.
 BindingFactory buildPropBindingFactory(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, List<RequestFilter> configuration, Dispatcher masterDispatcher)
           
 Response buildResponse()
          Builds a shadow of the RequestGlobals.response property.
 ServletApplicationInitializer buildServletApplicationInitializer(org.slf4j.Logger logger, List<ServletApplicationInitializerFilter> configuration, ApplicationInitializer initializer)
           
 SessionPersistedObjectAnalyzer buildSessionPersistedObjectAnalyzer(Map<Class,SessionPersistedObjectAnalyzer> configuration)
          The master SessionPersistedObjectAnalyzer.
static TranslatorSource buildTranslatorSource(Map<Class,Translator> configuration, TranslatorAlternatesSource alternatesSource, InvalidationEventHub hub)
           
static ValueEncoderSource buildValueEncoderSource(Map<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<String,ApplicationStatePersistenceStrategy> configuration, ApplicationStatePersistenceStrategy sessionStategy)
          Contributes the default "session" strategy.
static void contributeAssetDispatcher(MappedConfiguration<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<String,AssetFactory> configuration, AssetFactory contextAssetFactory, AssetFactory classpathAssetFactory)
           
static void contributeBindingSource(MappedConfiguration<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<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, 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<Class,String> configuration)
          Maps property types to data type names: String --> text Number --> number Enum --> enum Boolean --> boolean Date --> date
static void contributeFactoryDefaults(MappedConfiguration<String,Object> configuration)
          Contributes factory defaults that may be overridden.
static void contributeFieldValidatorSource(MappedConfiguration<String,Validator> configuration)
          Contributes the basic set of validators: required minlength maxlength min max regexp email none
static void contributeHiddenFieldLocationRules(MappedConfiguration<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<String,JavaScriptStack> configuration)
          Contributes the "core" and "core-datefield" JavaScriptStacks
 void contributeMarkupRenderer(OrderedConfiguration<MarkupRendererFilter> configuration, boolean omitGeneratorMeta, 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<Class,MetaDataExtractor> configuration)
          Contributes extractors for Meta, Secure, ContentType and WhitelistAccessOnly annotations.
static void contributeNullFieldStrategySource(MappedConfiguration<String,NullFieldStrategy> configuration)
          Contributes strategies accessible via the NullFieldStrategySource service.
 void contributeObjectRenderer(MappedConfiguration<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 PartialMarkupRendererFilters used when rendering a partial Ajax response.
 void contributePersistentFieldManager(MappedConfiguration<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<String> configuration)
          Configures the extensions that will require a digest to be downloaded via the asset dispatcher.
static void contributeSessionPersistedObjectAnalyzer(MappedConfiguration<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<String,URL> config)
           
static void contributeTranslatorSource(MappedConfiguration<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<Class,Object> configuration)
          Contributes ValueEncoders or ValueEncoderFactorys 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<Class,Object> configuration, boolean productionMode)
          In production mode, override UpdateListenerHub to be an empty placeholder.
static void provideBaseAjaxComponentEventResultProcessors(MappedConfiguration<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, 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<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<String,String> configuration,
                                                                                                       ComponentClassResolver resolver)

addApplicationAndTapestryMappings

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

contributeAssetDispatcher

public static void contributeAssetDispatcher(MappedConfiguration<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")
                                                                                        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<Class,String> configuration)
Maps property types to data type names:


provideDefaultBeanBlocks

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

contributeFieldValidatorSource

public static void contributeFieldValidatorSource(MappedConfiguration<String,Validator> configuration)
Contributes the basic set of validators:


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<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:


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(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(List<ComponentClassTransformWorker2> configuration)
Allows the exact steps in the component class transformation process to be defined.


buildDataTypeAnalyzer

@Marker(value=Primary.class)
public DataTypeAnalyzer buildDataTypeAnalyzer(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(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,
                                                                                   List<ApplicationInitializerFilter> configuration)
Initializes the application, using a pipeline of ApplicationInitializers.


buildHttpServletRequestHandler

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

buildRequestHandler

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

buildServletApplicationInitializer

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

buildComponentEventResultProcessor

@Marker(value={Primary.class,Traditional.class})
public ComponentEventResultProcessor buildComponentEventResultProcessor(Map<Class,ComponentEventResultProcessor> configuration,
                                                                                                                  @ComponentClasses
                                                                                                                  InvalidationEventHub hub)
The component event result processor used for normal component requests.


buildAjaxComponentEventResultProcessor

@Marker(value=Ajax.class)
public ComponentEventResultProcessor buildAjaxComponentEventResultProcessor(Map<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(Map<Class,Translator> configuration,
                                                     TranslatorAlternatesSource alternatesSource,
                                                     @ComponentClasses
                                                     InvalidationEventHub hub)

buildObjectRenderer

@Marker(value=Primary.class)
public ObjectRenderer buildObjectRenderer(Map<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(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 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 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,
                                          List<MarkupRendererFilter> configuration)
The MarkupRenderer service is used to render a full page as markup. Supports an ordered configuration of MarkupRendererFilters.


buildPartialMarkupRenderer

public PartialMarkupRenderer buildPartialMarkupRenderer(org.slf4j.Logger logger,
                                                        List<PartialMarkupRendererFilter> configuration,
                                                        @Autobuild
                                                        PartialMarkupRendererTerminator terminator)
A wrapper around PageRenderQueue used for partial page renders. Supports an ordered configuration of PartialMarkupRendererFilters.

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(List<PageRenderRequestFilter> configuration,
                                                              org.slf4j.Logger logger,
                                                              @Autobuild
                                                              PageRenderRequestHandlerImpl terminator)

buildComponentEventRequestHandler

@Marker(value={Traditional.class,Primary.class})
public ComponentEventRequestHandler buildComponentEventRequestHandler(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(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<String,ApplicationStatePersistenceStrategy> configuration,
                                                                @Local
                                                                ApplicationStatePersistenceStrategy sessionStategy)
Contributes the default "session" strategy.


contributeAssetSource

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

contributeComponentEventResultProcessor

public void contributeComponentEventResultProcessor(@Traditional@ComponentInstanceProcessor
                                                    ComponentEventResultProcessor componentInstanceProcessor,
                                                    MappedConfiguration<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<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<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")
                                     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 PartialMarkupRendererFilters 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<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(Map<Class,ValueEncoderFactory> configuration,
                                                         @ComponentClasses
                                                         InvalidationEventHub hub)

contributeValueEncoderSource

public static void contributeValueEncoderSource(MappedConfiguration<Class,Object> configuration)
Contributes ValueEncoders or ValueEncoderFactorys 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<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<String,URL> config)

contributeFactoryDefaults

public static void contributeFactoryDefaults(MappedConfiguration<String,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<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<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(Map<Class,SessionPersistedObjectAnalyzer> configuration)
The master SessionPersistedObjectAnalyzer.

Since:
5.1.0.0

contributeSessionPersistedObjectAnalyzer

public static void contributeSessionPersistedObjectAnalyzer(MappedConfiguration<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(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(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<String,JavaScriptStack> configuration)
Contributes the "core" and "core-datefield" JavaScriptStacks

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<Class,MetaDataExtractor> configuration)
Contributes extractors for Meta, Secure, ContentType and WhitelistAccessOnly annotations.

Since:
5.2.0

buildComponentTemplateLocator

@Marker(value=Primary.class)
public ComponentTemplateLocator buildComponentTemplateLocator(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")
                                                      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(List<ComponentEventLinkTransformer> configuration)
Builds ComponentEventLinkTransformer service as a chain of command.

Since:
5.2.0

buildPageRenderLinkTransformer

@Marker(value=Primary.class)
public PageRenderLinkTransformer buildPageRenderLinkTransformer(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<Class,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)


Copyright © 2003-2012 The Apache Software Foundation.