Package org.apache.tapestry5.modules
Class TapestryModule
- java.lang.Object
-
- org.apache.tapestry5.modules.TapestryModule
-
@Marker(Core.class) @ImportModule({InternalModule.class,AssetsModule.class,PageLoadModule.class,JavaScriptModule.class,CompatibilityModule.class,DashboardModule.class,TapestryHttpModule.class,JSONModule.class}) public final class TapestryModule extends java.lang.Object
The root module for Tapestry.
-
-
Constructor Summary
Constructors Constructor Description TapestryModule(PipelineBuilder pipelineBuilder, PropertyShadowBuilder shadowBuilder, RequestGlobals requestGlobals, 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidaddBuiltInComponentLibraryInfoSources(OrderedConfiguration<ComponentLibraryInfoSource> configuration)static voidaddBuiltInOpenApiDocumentationGenerator(OrderedConfiguration<OpenApiDescriptionGenerator> configuration)static voidaddBuiltInOpenApiTypeDescriber(OrderedConfiguration<OpenApiTypeDescriber> configuration)static voidadviseLazy(LazyAdvisor advisor, MethodAdviceReceiver receiver)Advises theComponentMessagesSourceservice so that the creation ofMessagesinstances can be deferred.static voidbind(ServiceBinder binder)ComponentEventRequestHandlerbuildAjaxComponentEventRequestHandler(java.util.List<ComponentEventRequestFilter> configuration, org.slf4j.Logger logger, AjaxComponentEventRequestHandler terminator)Builds the action request handler for Ajax requests, based on a pipeline aroundAjaxComponentEventRequestHandler.ComponentEventResultProcessorbuildAjaxComponentEventResultProcessor(java.util.Map<java.lang.Class,ComponentEventResultProcessor> configuration, InvalidationEventHub hub)The component event result processor used for Ajax-oriented component requests.ClientBehaviorSupportbuildClientBehaviorSupport()Builds a proxy to the currentClientBehaviorSupportinside this thread'sEnvironment.PersistentFieldStrategybuildClientPersistentFieldStrategy(LinkCreationHub linkCreationHub, ClientPersistentFieldStrategy service)static InvalidationEventHubbuildComponentClassesInvalidationEventHub(InternalComponentInvalidationEventHub trueHub)Exposes the public portion of the internalInternalComponentInvalidationEventHubservice.static ComponentClassResolverbuildComponentClassResolver(ComponentClassResolverImpl service, InvalidationEventHub hub)ComponentClassTransformWorker2buildComponentClassTransformWorker(java.util.List<ComponentClassTransformWorker2> configuration)Allows the exact steps in the component class transformation process to be defined.static ComponentDependencyRegistrybuildComponentDependencyRegistry(InternalComponentInvalidationEventHub internalComponentInvalidationEventHub, ResourceChangeTracker resourceChangeTracker, ComponentTemplateSource componentTemplateSource, PageClassLoaderContextManager pageClassLoaderContextManager, ComponentInstantiatorSource componentInstantiatorSource, ComponentClassResolver componentClassResolver, TemplateParser templateParser, ComponentTemplateLocator componentTemplateLocator, PerthreadManager perthreadManager)ComponentEventLinkTransformerbuildComponentEventLinkTransformer(java.util.List<ComponentEventLinkTransformer> configuration)BuildsComponentEventLinkTransformerservice as a chain of command.ComponentEventRequestHandlerbuildComponentEventRequestHandler(java.util.List<ComponentEventRequestFilter> configuration, org.slf4j.Logger logger, ComponentEventRequestHandlerImpl terminator)Builds the component action request handler for traditional (non-Ajax) requests.ComponentEventResultProcessorbuildComponentEventResultProcessor(java.util.Map<java.lang.Class,ComponentEventResultProcessor> configuration, InvalidationEventHub hub)The component event result processor used for normal component requests.static ComponentLibraryInfoSourcebuildComponentLibraryInfoSource(java.util.List<ComponentLibraryInfoSource> configuration, ChainBuilder chainBuilder)static InvalidationEventHubbuildComponentMessagesInvalidationEventHub(ComponentMessagesSource messagesSource)static ComponentMessagesSourcebuildComponentMessagesSource(UpdateListenerHub updateListenerHub, ComponentMessagesSourceImpl service)PlasticProxyFactorybuildComponentProxyFactory(ComponentInstantiatorSource source)Returns aPlasticProxyFactorythat can be used to create extra classes around component classes.ComponentRequestHandlerbuildComponentRequestHandler(java.util.List<ComponentRequestFilter> configuration, ComponentRequestHandlerTerminator terminator, org.slf4j.Logger logger)ComponentTemplateLocatorbuildComponentTemplateLocator(java.util.List<ComponentTemplateLocator> configuration)Builds theComponentTemplateLocatoras a chain of command.static InvalidationEventHubbuildComponentTemplatesInvalidationEventHub(ComponentTemplateSource templateSource)ContextbuildContext(ApplicationGlobals globals)DataTypeAnalyzerbuildDataTypeAnalyzer(java.util.List<DataTypeAnalyzer> configuration)Analyzes properties to determine the data types, used to provideDefaultBeanBlocks(org.apache.tapestry5.commons.Configuration) locale display and edit blocks for properties.static DataTypeAnalyzerbuildDefaultDataTypeAnalyzer(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).EnvironmentbuildEnvironment(PerthreadManager perthreadManager)FormSupportbuildFormSupport()Builds a proxy to the currentFormSupportinside this thread'sEnvironment.HeartbeatbuildHeartbeat()Exposes the EnvironmentalHeartbeatas an injectable service.InjectionProvider2buildInjectionProvider(java.util.List<InjectionProvider2> configuration)A chain of command for providing values forInject-ed fields in component classes.static LinkCreationHubbuildLinkCreationHub(LinkSource source)MarkupRendererbuildMarkupRenderer(org.slf4j.Logger logger, MarkupRendererTerminator terminator, java.util.List<MarkupRendererFilter> configuration)The MarkupRenderer service is used to render a full page as markup.StackTraceElementAnalyzerbuildMasterStackTraceElementAnalyzer(java.util.List<StackTraceElementAnalyzer> configuration)ObjectRendererbuildObjectRenderer(java.util.Map<java.lang.Class,ObjectRenderer> configuration)static OpenApiDescriptionGeneratorbuildOpenApiDocumentationGenerator(java.util.List<OpenApiDescriptionGenerator> configuration, ChainBuilder chainBuilder)static OpenApiTypeDescriberbuildOpenApiTypeDescriber(java.util.List<OpenApiTypeDescriber> configuration, ChainBuilder chainBuilder)PageRenderLinkTransformerbuildPageRenderLinkTransformer(java.util.List<PageRenderLinkTransformer> configuration)BuildsPageRenderLinkTransformerservice as a chain of command.PageRenderRequestHandlerbuildPageRenderRequestHandler(java.util.List<PageRenderRequestFilter> configuration, org.slf4j.Logger logger, PageRenderRequestHandlerImpl terminator)PartialMarkupRendererbuildPartialMarkupRenderer(org.slf4j.Logger logger, java.util.List<PartialMarkupRendererFilter> configuration, PartialMarkupRendererTerminator terminator)A wrapper aroundPageRenderQueueused for partial page renders.BindingFactorybuildPropBindingFactory(java.util.List<BindingFactory> configuration, PropBindingFactory service)Builds the PropBindingFactory as a chain of command.static TranslatorSourcebuildTranslatorSource(java.util.Map<java.lang.Class,Translator> configuration, TranslatorAlternatesSource alternatesSource, InvalidationEventHub hub)ValueLabelProvider<?>buildValueLabelProvider(java.util.Map<java.lang.Class,ValueLabelProvider> configuration)static voidcomponentReplacer(MethodAdviceReceiver methodAdviceReceiver, ComponentOverride componentReplacer)static voidcontributeAjaxComponentEventRequestHandler(OrderedConfiguration<ComponentEventRequestFilter> configuration)Contributes: AjaxFormUpdateAjaxFormUpdateFiltervoidcontributeApplicationInitializer(OrderedConfiguration<ApplicationInitializerFilter> configuration, TypeCoercer typeCoercer, ComponentClassResolver componentClassResolver, InvalidationEventHub invalidationEventHub, RestoreDirtySessionObjects restoreDirtySessionObjects)Adds a listener to theComponentInstantiatorSourcethat clears thePropertyAccessandTypeCoercercaches on a class loader invalidation.voidcontributeApplicationStatePersistenceStrategySource(MappedConfiguration<java.lang.String,ApplicationStatePersistenceStrategy> configuration, ApplicationStatePersistenceStrategy sessionStategy)Contributes the default "session" strategy.static voidcontributeBindingSource(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 several built-in binding prefixes ("asset", "block", "component", "literal", prop", "nullfieldstrategy", "message", "validate", "translate", "var").voidcontributeComponentEventRequestHandler(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 Secure Sends a redirect if an non-secure request accesses a secure pagevoidcontributeComponentEventResultProcessor(ComponentEventResultProcessor componentInstanceProcessor, MappedConfiguration<java.lang.Class,ComponentEventResultProcessor> configuration)Contributes handlers for the following types: Object Failure case, added to provide a more useful exception messageLinkSends 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)ComponentA page's root component (though a non-root component will work, but will generate a warning).voidcontributeComponentRequestHandler(OrderedConfiguration<ComponentRequestFilter> configuration, boolean productionMode)Contributes: OperationTracker Tracks general information about the request usingOperationTrackerUnknownComponentFilter (production mode only)ProductionModeUnknownComponentFilter- Detects request with unknown component and aborts handling to ultimately deliver a 404 response InitializeActivePageNameInitializeActivePageNameDeferredResponseRendererDeferredResponseRendererstatic voidcontributeComponentTemplateLocator(OrderedConfiguration<ComponentTemplateLocator> configuration, AssetFactory contextAssetFactory, java.lang.String applicationFolder, ComponentClassResolver componentClassResolver)Contributes two template locators: Default Searches for the template on the classpath (DefaultTemplateLocatorPage Searches for page templates in the context (PageTemplateLocator)static voidcontributeDataTypeAnalyzer(OrderedConfiguration<DataTypeAnalyzer> configuration, DataTypeAnalyzer defaultDataTypeAnalyzer)Annotation Checks forDataTypeannotation Default (ordered last)DefaultDataTypeAnalyzerservice (contributeDefaultDataTypeAnalyzer(org.apache.tapestry5.commons.MappedConfiguration))static voidcontributeDefaultDataTypeAnalyzer(MappedConfiguration<java.lang.Class,java.lang.String> configuration)Maps property types to data type names: String --> text Number --> number Enum --> enum Boolean --> boolean Date --> datestatic voidcontributeFactoryDefaults(MappedConfiguration<java.lang.String,java.lang.Object> configuration)Contributes factory defaults that may be overridden.static voidcontributeHiddenFieldLocationRules(MappedConfiguration<java.lang.String,RelativeElementPosition> configuration)Determines positioning of hidden fields relative to other elements (this is needed byFormFragmentand others.voidcontributeHttpServletRequestHandler(OrderedConfiguration<HttpServletRequestFilter> configuration, HttpServletRequestFilter ignoredPathsFilter)StoreIntoGlobals Stores the request and response intoRequestGlobalsat 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 voidcontributeMappedEntityManager(Configuration<java.lang.String> configuration, java.lang.String appRootPackage)Contributes the package "<root>.rest.entities" to the configuration, so that it will be scanned for mapped entity classes.voidcontributeMarkupRenderer(OrderedConfiguration<MarkupRendererFilter> configuration, ModuleManager moduleManager, boolean omitGeneratorMeta, java.lang.String tapestryVersion, boolean productionMode, boolean includeCoreStack, boolean enablePageloadingMask, ValidationDecoratorFactory validationDecoratorFactory)Adds page render filters, each of which provides anEnvironmentalservice.static voidcontributeMasterDispatcher(OrderedConfiguration<Dispatcher> configuration, boolean publishOpenApiDefinition)The MasterDispatcher is a chain-of-command of individual Dispatchers, each handling (like a servlet) a particular kind of incoming request.static voidcontributeMasterObjectProvider(OrderedConfiguration<ObjectProvider> configuration, ObjectProvider assetObjectProvider, ObjectLocator locator)static voidcontributeMasterStackTraceElementAnalyzer(OrderedConfiguration<StackTraceElementAnalyzer> configuration)Contributes: Application Checks for classes in the application package Proxies Checks for classes that appear to be generated proxies. SunReflect Checks forsun.reflect(which are omitted) TapestryAOP Omits stack frames for classes related to Tapestry AOP (such as advice, etc.) OperationTracker Omits stack frames related toOperationTrackerAccess Omits stack frames used to provide access to container class private membersstatic voidcontributeMetaWorker(MappedConfiguration<java.lang.Class,MetaDataExtractor> configuration)static voidcontributeNullFieldStrategySource(MappedConfiguration<java.lang.String,NullFieldStrategy> configuration)Contributes strategies accessible via theNullFieldStrategySourceservice.voidcontributeObjectRenderer(MappedConfiguration<java.lang.Class,ObjectRenderer> configuration, ObjectRenderer locationRenderer, TypeCoercer typeCoercer)Contributes a default object renderer for type Object, plus specialized renderers forRequest,Location,ComponentResources,EventContext,AvailableValues, List, and Object[].voidcontributePageRenderRequestHandler(OrderedConfiguration<PageRenderRequestFilter> configuration, RequestSecurityManager securityManager)Contributes a single filter, "Secure", which checks for non-secure requests that access secure pages.voidcontributePartialMarkupRenderer(OrderedConfiguration<PartialMarkupRendererFilter> configuration, ValidationDecoratorFactory validationDecoratorFactory)ContributesPartialMarkupRendererFilters used when rendering a partial Ajax response.voidcontributePersistentFieldManager(MappedConfiguration<java.lang.String,PersistentFieldStrategy> configuration, Request request, PersistentFieldStrategy clientStrategy)voidcontributeRequestHandler(OrderedConfiguration<RequestFilter> configuration, Context context, boolean productionMode, PageClassLoaderContextManager pageClassLoaderContextManager)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 (seeCheckForUpdatesFilter).static voidcontributeTemplateParser(MappedConfiguration<java.lang.String,java.net.URL> config)static voidcontributeTranslatorSource(MappedConfiguration<java.lang.Class,Translator> configuration, NumericTranslatorSupport support, Html5Support html5Support)Contributes the basic set of translators: string byte short integer long float double BigInteger BigDecimalstatic voidcontributeTypeCoercer(MappedConfiguration<CoercionTuple.Key,CoercionTuple> configuration, ObjectLocator objectLocator, ThreadLocale threadLocale, AssetSource assetSource, DynamicTemplateParser dynamicTemplateParser)Adds coercions: String toSelectModelMap toSelectModelCollection toGridDataSourcenull toGridDataSourceList toSelectModelComponentResourcesAware(typically, a component) toComponentResourcesComponentResourcestoPropertyOverridesString toRenderableRenderabletoBlockString toDateFormatString toResource(viaAssetSource.resourceForPath(String))RenderabletoRenderCommandString toPatternString toDateFormatResourcetoDynamicTemplateAssettoResourceValueEncodertoValueEncoderFactorystatic voidcontributeValidationConstraintGenerator(OrderedConfiguration<ValidationConstraintGenerator> configuration)Adds built-in constraint generators: PrimtiveField -- primitive fields are always required ValidateAnnotation -- adds constraints from aValidateannotationstatic voidcontributeValueEncoderSource(MappedConfiguration<java.lang.Class,java.lang.Object> configuration)ContributesValueEncoders orValueEncoderFactorys for types: Object String Enumstatic FieldValidatorDefaultSourcedecorateFieldValidatorDefaultSource(FieldValidatorDefaultSource defaultSource, Environment environment)Decorate FieldValidatorDefaultSource to setup the EnvironmentMessages object and place it in the environment.ComponentEventLinkEncoderdecorateLinkTransformer(LinkTransformer linkTransformer, ComponentEventLinkEncoder delegate)Provides the "LinkTransformer" interceptor for theComponentEventLinkEncoderservice.voiddefaultValueLabelProviders(MappedConfiguration<java.lang.Class,ValueLabelProvider> configuration)static voiddefaultWhitelist(OrderedConfiguration<WhitelistAnalyzer> configuration)Contributes a single default analyzer: LocalhostOnly Identifies requests from localhost as on client whiteliststatic voidgracefullyHandleFormsRequirePostException(MappedConfiguration<java.lang.Class,java.lang.Object> configuration, boolean productionMode)static voidproductionModeOverrides(MappedConfiguration<java.lang.Class,java.lang.Object> configuration, boolean productionMode)In production mode, overrideUpdateListenerHubto be an empty placeholder.static voidprovideBaseAjaxComponentEventResultProcessors(MappedConfiguration<java.lang.Class,ComponentEventResultProcessor> configuration)Contributes handlers for the following types: Object Failure case, added to provide more useful exception messageRenderCommandTypically, aBlockComponentRenders the component and its body (unless its a page, in which case a redirect JSON response is sent)JSONObjectorJSONArrayThe JSONObject is returned as a text/javascript responseStreamResponseThe 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 pageLinkSends a JSON response to redirect to the linkClassTreats the class as a page class and sends a redirect for a page render for that pageMultiZoneUpdateSends 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 asRenderCommand.static voidprovideCoreAndAppLibraries(Configuration<LibraryMapping> configuration, java.lang.String appRootPackage)static voidprovideDefaultBeanBlocks(Configuration<BeanBlockContribution> configuration)static voidprovideStandardInjectionProviders(OrderedConfiguration<InjectionProvider2> configuration, SymbolSource symbolSource, AssetSource assetSource)Default based onMasterObjectProviderNamed Handles fields with theNamedannotation Block injects fields of typeBlockCommonResources Access to properties of resources (log, messages, etc.) Asset injection of assets (triggered viaPathannotation), 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 servicesstatic voidprovideTransformWorkers(OrderedConfiguration<ComponentClassTransformWorker2> configuration, MetaWorker metaWorker, ComponentClassResolver resolver, ComponentDependencyRegistry componentDependencyRegistry)Adds a number of standard component class transform workers: Parameter Identifies parameters based on theParameterannotation BindParameter Support for theBindParameterannotation Property Generates accessor methods ifPropertyannotation is present Import Supports theImportannotation UnclaimedField Manages unclaimed fields, storing their value in aPerThreadValueOnEvent Handle the @OnEvent annotation, and related naming convention RenderCommand Ensures all components also implementRenderCommandSupportsInformalParameters 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 forPageActivationContextannotation DiscardAfter Support forDiscardAftermethod annotation MixinAfter Support for theMixinAftermixin class annotation PageReset Checks for thePageResetannotation Mixin Adds a mixin as part of a component's implementation Cached Checks for theCachedannotation ActivationRequestParameter Support for theActivationRequestParameterannotation PageLoaded, PageAttached, PageDetached Support for annotationsPageLoaded,PageAttached,PageDetachedInjectService Handles theInjectServiceannotation Component Defines embedded components based on theComponentannotation Environment Allows fields to contain values extracted from theEnvironmentservice ApplicationState Converts fields that reference application state objects Persist Allows fields to store their their value persistently between requests viaPersistSessionAttribute Support for theSessionAttributeLog Checks for theLogannotation HeartbeatDeferred Support for theHeartbeatDeferredannotation, which defers method invocation to the end of theHeartbeatInject Used with theInjectannotation, when a value is supplied Operation Support for theOperationmethod annotationstatic voidregisterToClearPlasticProxyFactoryOnInvalidation(InvalidationEventHub hub, PlasticProxyFactory proxyFactory)static voidsetupCoreFrameworkValidators(MappedConfiguration<java.lang.String,Validator> configuration)Contributes the basic set of validators: required minlength maxlength min max regexp email none
-
-
-
Constructor Detail
-
TapestryModule
public TapestryModule(PipelineBuilder pipelineBuilder, PropertyShadowBuilder shadowBuilder, RequestGlobals requestGlobals, 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("PropBindingFactory") BindingFactory propBindingFactory, @InjectService("MessageBindingFactory") BindingFactory messageBindingFactory, @InjectService("ValidateBindingFactory") BindingFactory validateBindingFactory, @InjectService("TranslateBindingFactory") BindingFactory translateBindingFactory, @InjectService("AssetBindingFactory") BindingFactory assetBindingFactory, @InjectService("NullFieldStrategyBindingFactory") BindingFactory nullFieldStrategyBindingFactory, @InjectService("ContextBindingFactory") BindingFactory contextBindingFactory, @InjectService("SymbolBindingFactory") BindingFactory symbolBindingFactory)
Contributes the factory for several built-in binding prefixes ("asset", "block", "component", "literal", prop", "nullfieldstrategy", "message", "validate", "translate", "var").
-
provideCoreAndAppLibraries
@Contribute(ComponentClassResolver.class) public static void provideCoreAndAppLibraries(Configuration<LibraryMapping> configuration, @Symbol("tapestry.app-package") java.lang.String appRootPackage)
-
provideTransformWorkers
@Contribute(ComponentClassTransformWorker2.class) @Primary public static void provideTransformWorkers(OrderedConfiguration<ComponentClassTransformWorker2> configuration, MetaWorker metaWorker, ComponentClassResolver resolver, ComponentDependencyRegistry componentDependencyRegistry)
Adds a number of standard component class transform workers:- Parameter
- Identifies parameters based on the
Parameterannotation - BindParameter
- Support for the
BindParameterannotation - Property
- Generates accessor methods if
Propertyannotation is present - Import
- Supports the
Importannotation - 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
PageActivationContextannotation - DiscardAfter
- Support for
DiscardAftermethod annotation - MixinAfter
- Support for the
MixinAftermixin class annotation - PageReset
- Checks for the
PageResetannotation - Mixin
- Adds a mixin as part of a component's implementation
- Cached
- Checks for the
Cachedannotation - ActivationRequestParameter
- Support for the
ActivationRequestParameterannotation - PageLoaded, PageAttached, PageDetached
- Support for annotations
PageLoaded,PageAttached,PageDetached - InjectService
- Handles the
InjectServiceannotation - Component
- Defines embedded components based on the
Componentannotation - Environment
- Allows fields to contain values extracted from the
Environmentservice - 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
Logannotation - HeartbeatDeferred
- Support for the
HeartbeatDeferredannotation, which defers method invocation to the end of theHeartbeat - Inject
- Used with the
Injectannotation, when a value is supplied - Operation
- Support for the
Operationmethod annotation
-
contributeDataTypeAnalyzer
public static void contributeDataTypeAnalyzer(OrderedConfiguration<DataTypeAnalyzer> configuration, @InjectService("DefaultDataTypeAnalyzer") DataTypeAnalyzer defaultDataTypeAnalyzer)
- Annotation
- Checks for
DataTypeannotation - Default (ordered last)
-
DefaultDataTypeAnalyzerservice (contributeDefaultDataTypeAnalyzer(org.apache.tapestry5.commons.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(BeanBlockSource.class) public static void provideDefaultBeanBlocks(Configuration<BeanBlockContribution> configuration)
-
setupCoreFrameworkValidators
@Contribute(FieldValidatorSource.class) public static void setupCoreFrameworkValidators(MappedConfiguration<java.lang.String,Validator> configuration)
Contributes the basic set of validators:- required
- minlength
- maxlength
- min
- max
- regexp
- none
-
provideStandardInjectionProviders
@Contribute(InjectionProvider2.class) public static void provideStandardInjectionProviders(OrderedConfiguration<InjectionProvider2> configuration, SymbolSource symbolSource, AssetSource assetSource)
- Default
- based on
MasterObjectProvider - Named
- Handles fields with the
Namedannotation - Block
- injects fields of type
Block - CommonResources
- Access to properties of resources (log, messages, etc.)
- Asset
- injection of assets (triggered via
Pathannotation), 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("AssetObjectProvider") ObjectProvider assetObjectProvider, ObjectLocator locator)
-
contributeHttpServletRequestHandler
public void contributeHttpServletRequestHandler(OrderedConfiguration<HttpServletRequestFilter> configuration, @InjectService("IgnoredPathsFilter") HttpServletRequestFilter ignoredPathsFilter)
- StoreIntoGlobals
- Stores the request and response into
RequestGlobalsat 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("tapestry.production-mode") boolean productionMode, PageClassLoaderContextManager pageClassLoaderContextManager)
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
RequestExceptionHandlerhandle them - StoreIntoGlobals
- Stores the request and response into the
RequestGlobalsservice (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, Html5Support html5Support)
Contributes the basic set of translators:- string
- byte
- short
- integer
- long
- float
- double
- BigInteger
- BigDecimal
-
contributeTypeCoercer
public static void contributeTypeCoercer(MappedConfiguration<CoercionTuple.Key,CoercionTuple> configuration, ObjectLocator objectLocator, @Builtin ThreadLocale threadLocale, @Core AssetSource assetSource, @Core DynamicTemplateParser dynamicTemplateParser)
Adds coercions:- String to
SelectModel - Map to
SelectModel - Collection to
GridDataSource - null to
GridDataSource - List to
SelectModel ComponentResourcesAware(typically, a component) toComponentResourcesComponentResourcestoPropertyOverrides- String to
Renderable RenderabletoBlock- String to
DateFormat - String to
Resource(viaAssetSource.resourceForPath(String)) RenderabletoRenderCommand- String to
Pattern - String to
DateFormat ResourcetoDynamicTemplateAssettoResourceValueEncodertoValueEncoderFactory
- String to
-
contributeValidationConstraintGenerator
public static void contributeValidationConstraintGenerator(OrderedConfiguration<ValidationConstraintGenerator> configuration)
Adds built-in constraint generators:- PrimtiveField -- primitive fields are always required
- ValidateAnnotation -- adds constraints from a
Validateannotation
-
buildContext
public Context buildContext(ApplicationGlobals globals)
-
buildComponentClassResolver
public static ComponentClassResolver buildComponentClassResolver(@Autobuild ComponentClassResolverImpl service, @ComponentClasses InvalidationEventHub hub)
-
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
-
buildClientPersistentFieldStrategy
public PersistentFieldStrategy buildClientPersistentFieldStrategy(LinkCreationHub linkCreationHub, @Autobuild ClientPersistentFieldStrategy service)
-
buildClientBehaviorSupport
public ClientBehaviorSupport buildClientBehaviorSupport()
Builds a proxy to the currentClientBehaviorSupportinside this thread'sEnvironment.- Since:
- 5.1.0.1
-
buildFormSupport
public FormSupport buildFormSupport()
Builds a proxy to the currentFormSupportinside this thread'sEnvironment.
-
buildComponentClassTransformWorker
@Marker(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(Primary.class) public DataTypeAnalyzer buildDataTypeAnalyzer(java.util.List<DataTypeAnalyzer> configuration)
Analyzes properties to determine the data types, used to provideDefaultBeanBlocks(org.apache.tapestry5.commons.Configuration) locale display and edit blocks for properties. The default behaviors look for aDataTypeannotation 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 forInject-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).
-
buildComponentEventResultProcessor
@Marker({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(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(Primary.class) public ObjectRenderer buildObjectRenderer(java.util.Map<java.lang.Class,ObjectRenderer> configuration)
-
buildComponentProxyFactory
@Marker(ComponentLayer.class) public PlasticProxyFactory buildComponentProxyFactory(ComponentInstantiatorSource source)
Returns aPlasticProxyFactorythat 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.
-
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 ofMarkupRendererFilters.
-
buildPartialMarkupRenderer
public PartialMarkupRenderer buildPartialMarkupRenderer(org.slf4j.Logger logger, java.util.List<PartialMarkupRendererFilter> configuration, @Autobuild PartialMarkupRendererTerminator terminator)
A wrapper aroundPageRenderQueueused for partial page renders. Supports an ordered configuration ofPartialMarkupRendererFilters.
-
buildPageRenderRequestHandler
public PageRenderRequestHandler buildPageRenderRequestHandler(java.util.List<PageRenderRequestFilter> configuration, org.slf4j.Logger logger, @Autobuild PageRenderRequestHandlerImpl terminator)
-
buildComponentEventRequestHandler
@Marker({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({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 aroundAjaxComponentEventRequestHandler. 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.
-
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(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)
JSONObjectorJSONArray- 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
RenderCommand. You can then inject the master AjaxComponentEventResultProcessor (use theAjaxmarker annotation) and delegate to it.
-
contributeMasterDispatcher
public static void contributeMasterDispatcher(OrderedConfiguration<Dispatcher> configuration, @Symbol("tapestry.publish-openapi-description") boolean publishOpenApiDefinition)
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)
- PageRender
- Identifies the
PageRenderRequestParametersand forwards ontoPageRenderRequestHandler - ComponentEvent
- Identifies the
ComponentEventRequestParametersand forwards onto theComponentEventRequestHandler
-
contributeObjectRenderer
public void contributeObjectRenderer(MappedConfiguration<java.lang.Class,ObjectRenderer> configuration, @InjectService("LocationRenderer") ObjectRenderer locationRenderer, TypeCoercer typeCoercer)
Contributes a default object renderer for type Object, plus specialized renderers forRequest,Location,ComponentResources,EventContext,AvailableValues, List, and Object[].
-
contributeMarkupRenderer
public void contributeMarkupRenderer(OrderedConfiguration<MarkupRendererFilter> configuration, ModuleManager moduleManager, @Symbol("tapestry.omit-generator-meta") boolean omitGeneratorMeta, @Symbol("tapestry.version") java.lang.String tapestryVersion, @Symbol("tapestry.production-mode") boolean productionMode, @Symbol("tapestry.include-core-stack") boolean includeCoreStack, @Symbol("tapestry.enable-pageloading-mask") boolean enablePageloadingMask, ValidationDecoratorFactory validationDecoratorFactory)
Adds page render filters, each of which provides anEnvironmentalservice. Filters often provideEnvironmentalservices needed by components as they render.- DocumentLinker
- Provides
DocumentLinker - ClientBehaviorSupport (deprecated in 5.4)
- Provides
ClientBehaviorSupport - Heartbeat
- Provides
Heartbeat - ValidationDecorator (deprecated in 5.4)
- Provides
ValidationDecorator(viaValidationDecoratorFactory.newInstance(org.apache.tapestry5.MarkupWriter)) - PageNameMeta (since 5.4)
- Renders a
<meta/>tag describing the active page name (development mode only) - ImportCoreStack (since 5.4)
- Imports the "core" stack (necessary to get the Bootstrap CSS, if nothing else).
-
contributePartialMarkupRenderer
public void contributePartialMarkupRenderer(OrderedConfiguration<PartialMarkupRendererFilter> configuration, ValidationDecoratorFactory validationDecoratorFactory)
ContributesPartialMarkupRendererFilters used when rendering a partial Ajax response.- DocumentLinker
- Provides
DocumentLinker - ClientBehaviorSupport
- Provides
ClientBehaviorSupport - Heartbeat
- Provides
Heartbeat - DefaultValidationDecorator
- ValidationDecorator
- Provides
ValidationDecorator(viaValidationDecoratorFactory.newInstance(org.apache.tapestry5.MarkupWriter))
-
contributePersistentFieldManager
public void contributePersistentFieldManager(MappedConfiguration<java.lang.String,PersistentFieldStrategy> configuration, Request request, @InjectService("ClientPersistentFieldStrategy") PersistentFieldStrategy clientStrategy)
-
contributeValueEncoderSource
public static void contributeValueEncoderSource(MappedConfiguration<java.lang.Class,java.lang.Object> configuration)
-
contributePageRenderRequestHandler
public void contributePageRenderRequestHandler(OrderedConfiguration<PageRenderRequestFilter> configuration, RequestSecurityManager securityManager)
Contributes a single filter, "Secure", which checks for non-secure requests that access secure pages.
-
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 theComponentInstantiatorSourcethat clears thePropertyAccessandTypeCoercercaches on a class loader invalidation. In addition, forces the realization ofComponentClassResolverat 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
- 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 theNullFieldStrategySourceservice.- 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 byFormFragmentand 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(ComponentClasses.class) public static InvalidationEventHub buildComponentClassesInvalidationEventHub(InternalComponentInvalidationEventHub trueHub)
Exposes the public portion of the internalInternalComponentInvalidationEventHubservice.- Since:
- 5.1.0.0
-
buildComponentTemplatesInvalidationEventHub
@Marker(ComponentTemplates.class) public static InvalidationEventHub buildComponentTemplatesInvalidationEventHub(ComponentTemplateSource templateSource)
- Since:
- 5.1.0.0
-
buildComponentMessagesInvalidationEventHub
@Marker(ComponentMessages.class) public static InvalidationEventHub buildComponentMessagesInvalidationEventHub(ComponentMessagesSource messagesSource)
- Since:
- 5.1.0.0
-
buildEnvironment
@Scope("perthread") public Environment buildEnvironment(PerthreadManager perthreadManager)
-
buildMasterStackTraceElementAnalyzer
@Marker(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 - Access
- Omits stack frames used to provide access to container class private members
- Since:
- 5.1.0.0
-
adviseLazy
@Match("ComponentMessagesSource") public static void adviseLazy(LazyAdvisor advisor, MethodAdviceReceiver receiver)
Advises theComponentMessagesSourceservice so that the creation ofMessagesinstances 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, @Symbol("tapestry.production-mode") boolean productionMode)
Contributes:- OperationTracker
- Tracks general information about the request using
OperationTracker - UnknownComponentFilter (production mode only)
ProductionModeUnknownComponentFilter- Detects request with unknown component and aborts handling to ultimately deliver a 404 response- InitializeActivePageName
InitializeActivePageName- DeferredResponseRenderer
DeferredResponseRenderer
- 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 decorateenvironment-
-
buildHeartbeat
public Heartbeat buildHeartbeat()
Exposes the EnvironmentalHeartbeatas an injectable service.- Since:
- 5.2.0
-
buildComponentMessagesSource
public static ComponentMessagesSource buildComponentMessagesSource(UpdateListenerHub updateListenerHub, @Autobuild ComponentMessagesSourceImpl service)
-
contributeMetaWorker
public static void contributeMetaWorker(MappedConfiguration<java.lang.Class,MetaDataExtractor> configuration)
- Since:
- 5.2.0
-
buildComponentTemplateLocator
@Marker(Primary.class) public ComponentTemplateLocator buildComponentTemplateLocator(java.util.List<ComponentTemplateLocator> configuration)
Builds theComponentTemplateLocatoras a chain of command.- Since:
- 5.2.0
-
contributeComponentTemplateLocator
public static void contributeComponentTemplateLocator(OrderedConfiguration<ComponentTemplateLocator> configuration, @ContextProvider AssetFactory contextAssetFactory, @Symbol("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(Primary.class) public ComponentEventLinkTransformer buildComponentEventLinkTransformer(java.util.List<ComponentEventLinkTransformer> configuration)
BuildsComponentEventLinkTransformerservice as a chain of command.- Since:
- 5.2.0
-
buildPageRenderLinkTransformer
@Marker(Primary.class) public PageRenderLinkTransformer buildPageRenderLinkTransformer(java.util.List<PageRenderLinkTransformer> configuration)
BuildsPageRenderLinkTransformerservice as a chain of command.- Since:
- 5.2.0
-
decorateLinkTransformer
@Match("ComponentEventLinkEncoder") public ComponentEventLinkEncoder decorateLinkTransformer(LinkTransformer linkTransformer, ComponentEventLinkEncoder delegate)
Provides the "LinkTransformer" interceptor for theComponentEventLinkEncoderservice. Other decorations should come after LinkTransformer.- Since:
- 5.2.0
-
productionModeOverrides
@Contribute(ServiceOverride.class) public static void productionModeOverrides(MappedConfiguration<java.lang.Class,java.lang.Object> configuration, @Symbol("tapestry.production-mode") boolean productionMode)
In production mode, overrideUpdateListenerHubto be an empty placeholder.
-
defaultWhitelist
@Contribute(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)
-
defaultValueLabelProviders
@Contribute(ValueLabelProvider.class) public void defaultValueLabelProviders(MappedConfiguration<java.lang.Class,ValueLabelProvider> configuration)
- Since:
- 5.4
-
buildValueLabelProvider
public ValueLabelProvider<?> buildValueLabelProvider(java.util.Map<java.lang.Class,ValueLabelProvider> configuration)
- Since:
- 5.4
-
componentReplacer
@Advise(serviceInterface=ComponentInstantiatorSource.class) public static void componentReplacer(MethodAdviceReceiver methodAdviceReceiver, ComponentOverride componentReplacer) throws java.lang.NoSuchMethodException, java.lang.SecurityException
- Throws:
java.lang.NoSuchMethodExceptionjava.lang.SecurityException
-
buildComponentLibraryInfoSource
public static ComponentLibraryInfoSource buildComponentLibraryInfoSource(java.util.List<ComponentLibraryInfoSource> configuration, ChainBuilder chainBuilder)
-
addBuiltInComponentLibraryInfoSources
@Contribute(ComponentLibraryInfoSource.class) public static void addBuiltInComponentLibraryInfoSources(OrderedConfiguration<ComponentLibraryInfoSource> configuration)
-
buildOpenApiDocumentationGenerator
public static OpenApiDescriptionGenerator buildOpenApiDocumentationGenerator(java.util.List<OpenApiDescriptionGenerator> configuration, ChainBuilder chainBuilder)
-
buildOpenApiTypeDescriber
public static OpenApiTypeDescriber buildOpenApiTypeDescriber(java.util.List<OpenApiTypeDescriber> configuration, ChainBuilder chainBuilder)
-
addBuiltInOpenApiDocumentationGenerator
@Contribute(OpenApiDescriptionGenerator.class) public static void addBuiltInOpenApiDocumentationGenerator(OrderedConfiguration<OpenApiDescriptionGenerator> configuration)
-
addBuiltInOpenApiTypeDescriber
@Contribute(OpenApiTypeDescriber.class) public static void addBuiltInOpenApiTypeDescriber(OrderedConfiguration<OpenApiTypeDescriber> configuration)
-
contributeMappedEntityManager
public static void contributeMappedEntityManager(Configuration<java.lang.String> configuration, @Symbol("tapestry.app-package") java.lang.String appRootPackage)
Contributes the package "<root>.rest.entities" to the configuration, so that it will be scanned for mapped entity classes.
-
buildComponentDependencyRegistry
public static ComponentDependencyRegistry buildComponentDependencyRegistry(InternalComponentInvalidationEventHub internalComponentInvalidationEventHub, ResourceChangeTracker resourceChangeTracker, ComponentTemplateSource componentTemplateSource, PageClassLoaderContextManager pageClassLoaderContextManager, ComponentInstantiatorSource componentInstantiatorSource, ComponentClassResolver componentClassResolver, TemplateParser templateParser, ComponentTemplateLocator componentTemplateLocator, PerthreadManager perthreadManager)
-
gracefullyHandleFormsRequirePostException
@Contribute(RequestExceptionHandler.class) public static void gracefullyHandleFormsRequirePostException(MappedConfiguration<java.lang.Class,java.lang.Object> configuration, @Symbol("tapestry.production-mode") boolean productionMode)
-
-