|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.tapestry5.services.TapestryModule
@Marker(value=Core.class) @SubModule(value={InternalModule.class,AssetsModule.class,PageLoadModule.class}) public final class TapestryModule
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 ApplicationInitializer s. |
ClientBehaviorSupport |
buildClientBehaviorSupport()
Builds a proxy to the current ClientBehaviorSupport inside this
thread's Environment . |
PersistentFieldStrategy |
buildClientPersistentFieldStrategy(LinkCreationHub linkCreationHub,
ClientPersistentFieldStrategy service)
|
static InvalidationEventHub |
buildComponentClassesInvalidationEventHub(InternalComponentInvalidationEventHub trueHub)
Exposes the public portion of the internal InternalComponentInvalidationEventHub service. |
ClassFactory |
buildComponentClassFactory(ComponentInstantiatorSource source)
Returns a ClassFactory that can
be used to create extra classes around
component classes. |
static ComponentClassResolver |
buildComponentClassResolver(ComponentClassResolverImpl service,
InvalidationEventHub hub)
|
ComponentClassTransformWorker2 |
buildComponentClassTransformWorker(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" JavaScriptStack s |
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 PartialMarkupRendererFilter s 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 ValueEncoder s or ValueEncoderFactory s for types:
Object
String
Enum
|
static FieldValidatorDefaultSource |
decorateFieldValidatorDefaultSource(FieldValidatorDefaultSource defaultSource,
Environment environment)
Decorate FieldValidatorDefaultSource to setup the EnvironmentMessages object and place it in the environment. |
ComponentEventLinkEncoder |
decorateLinkTransformer(LinkTransformer linkTransformer,
ComponentEventLinkEncoder delegate)
Provides the "LinkTransformer" interceptor for the ComponentEventLinkEncoder service. |
static void |
defaultWhitelist(OrderedConfiguration<WhitelistAnalyzer> configuration)
Contributes a single default analyzer: LocalhostOnly Identifies requests from localhost as on client whitelist |
static void |
productionModeOverrides(MappedConfiguration<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 |
---|
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)
Method Detail |
---|
public static void bind(ServiceBinder binder)
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)
@Contribute(value=ClasspathAssetAliasManager.class) public static void addMappingsForLibraryVirtualFolders(MappedConfiguration<String,String> configuration, ComponentClassResolver resolver)
@Contribute(value=ClasspathAssetAliasManager.class) public static void addApplicationAndTapestryMappings(MappedConfiguration<String,String> configuration, @Symbol(value="tapestry.app-package") String appPackage)
public static void contributeAssetDispatcher(MappedConfiguration<String,AssetRequestHandler> configuration, @ContextProvider AssetFactory contextAssetFactory, @Autobuild StackAssetRequestHandler stackAssetRequestHandler, ClasspathAssetAliasManager classpathAssetAliasManager, ResourceStreamer streamer, AssetResourceLocator assetResourceLocator)
JavaScriptStack
files).
@Contribute(value=ComponentClassResolver.class) public static void setupCoreAndAppLibraries(Configuration<LibraryMapping> configuration, @Symbol(value="tapestry.app-package") String appRootPackage)
@Contribute(value=ComponentClassTransformWorker2.class) @Primary public static void provideTransformWorkers(OrderedConfiguration<ComponentClassTransformWorker2> configuration, MetaWorker metaWorker, ComponentClassResolver resolver)
Parameter
annotationBindParameter
annotationProperty
annotation is presentImport
annotationPerThreadValue
RenderCommand
PageActivationContext
annotationDiscardAfter
method annotation MixinAfter
mixin class annotationPageReset
annotationCached
annotationActivationRequestParameter
annotationPageLoaded
, PageAttached
, PageDetached
InjectService
annotationComponent
annotationEnvironment
servicePersist
SessionAttribute
Log
annotationHeartbeatDeferred
annotation, which defers method invocation to the end of the Heartbeat
Inject
annotation, when a value is supplied
public static void contributeDataTypeAnalyzer(OrderedConfiguration<DataTypeAnalyzer> configuration, @InjectService(value="DefaultDataTypeAnalyzer") DataTypeAnalyzer defaultDataTypeAnalyzer)
DataType
annotationDefaultDataTypeAnalyzer
service (
contributeDefaultDataTypeAnalyzer(org.apache.tapestry5.ioc.MappedConfiguration)
)
public static void contributeDefaultDataTypeAnalyzer(MappedConfiguration<Class,String> configuration)
@Contribute(value=BeanBlockSource.class) public static void provideDefaultBeanBlocks(Configuration<BeanBlockContribution> configuration)
public static void contributeFieldValidatorSource(MappedConfiguration<String,Validator> configuration)
@Contribute(value=InjectionProvider2.class) public static void provideStandardInjectionProviders(OrderedConfiguration<InjectionProvider2> configuration, SymbolSource symbolSource, AssetSource assetSource)
MasterObjectProvider
Named
annotationBlock
Path
annotation), with the path relative to the component class
public static void contributeMasterObjectProvider(OrderedConfiguration<ObjectProvider> configuration, @InjectService(value="AssetObjectProvider") ObjectProvider assetObjectProvider, ObjectLocator locator)
Path
annotation, and injects an Asset
Service
annotation, if present
public void contributeHttpServletRequestHandler(OrderedConfiguration<HttpServletRequestFilter> configuration, @Symbol(value="tapestry.gzip-compression-enabled") boolean gzipCompressionEnabled, @Autobuild GZipFilter gzipFilter, @InjectService(value="IgnoredPathsFilter") HttpServletRequestFilter ignoredPathsFilter)
RequestGlobals
at the start of the
pipeline
public void contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration, Context context, @Symbol(value="tapestry.production-mode") boolean productionMode)
CheckForUpdatesFilter
). Starting in 5.3, this filter will be null
in production mode (it will only be active in development mode).
RequestExceptionHandler
handle them
RequestGlobals
service (this
is repeated at the end of the pipeline, in case any filter substitutes the request or response).
public static void contributeTranslatorSource(MappedConfiguration<Class,Translator> configuration, NumericTranslatorSupport support)
public static void contributeTypeCoercer(Configuration<CoercionTuple> configuration, @Builtin TypeCoercer coercer, @Builtin ThreadLocale threadLocale, @Core AssetSource assetSource, @Core ComponentClassCache classCache, @Core DynamicTemplateParser dynamicTemplateParser)
SelectModel
SelectModel
GridDataSource
GridDataSource
SelectModel
ComponentResourcesAware
(typically, a component) to ComponentResources
ComponentResources
to PropertyOverrides
Renderable
Renderable
to Block
DateFormat
Resource
(via AssetSource.resourceForPath(String)
)
Renderable
to RenderCommand
Pattern
DateFormat
ComponentClassTransformWorker
to ComponentClassTransformWorker2
InjectionProvider
to InjectionProvider2
Resource
to DynamicTemplate
Asset
to Resource
ValueEncoder
to ValueEncoderFactory
public static void contributeValidationConstraintGenerator(OrderedConfiguration<ValidationConstraintGenerator> configuration)
Validate
annotation
public Context buildContext(ApplicationGlobals globals)
public static ComponentClassResolver buildComponentClassResolver(@Autobuild ComponentClassResolverImpl service, @ComponentClasses InvalidationEventHub hub)
@Marker(value=ContextProvider.class) public AssetFactory buildContextAssetFactory(ApplicationGlobals globals, AssetPathConstructor assetPathConstructor, AssetPathConverter converter)
public BindingFactory buildPropBindingFactory(List<BindingFactory> configuration, @Autobuild PropBindingFactory service)
configuration
- contributions of special factories for some constants, each
contributed factory may return a
binding if applicable, or null otherwisepublic static MetaDataLocator buildMetaDataLocator(@Autobuild MetaDataLocatorImpl service, @ComponentClasses InvalidationEventHub hub)
public PersistentFieldStrategy buildClientPersistentFieldStrategy(LinkCreationHub linkCreationHub, @Autobuild ClientPersistentFieldStrategy service)
public RenderSupport buildRenderSupport()
RenderSupport
inside this thread's
Environment
.
public JavaScriptSupport buildJavaScriptSupport()
JavaScriptSupport
inside this thread's Environment
.
public ClientBehaviorSupport buildClientBehaviorSupport()
ClientBehaviorSupport
inside this
thread's Environment
.
public FormSupport buildFormSupport()
FormSupport
inside this
thread's Environment
.
@Marker(value=Primary.class) public ComponentClassTransformWorker2 buildComponentClassTransformWorker(List<ComponentClassTransformWorker2> configuration)
@Marker(value=Primary.class) public DataTypeAnalyzer buildDataTypeAnalyzer(List<DataTypeAnalyzer> configuration)
DataType
annotation
before deriving the data type from the property type.
public InjectionProvider2 buildInjectionProvider(List<InjectionProvider2> configuration)
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
.
@Marker(value=Primary.class) public ApplicationInitializer buildApplicationInitializer(org.slf4j.Logger logger, List<ApplicationInitializerFilter> configuration)
ApplicationInitializer
s.
public HttpServletRequestHandler buildHttpServletRequestHandler(org.slf4j.Logger logger, List<HttpServletRequestFilter> configuration, @Primary RequestHandler handler, @Symbol(value="tapestry.charset") String applicationCharset, TapestrySessionFactory sessionFactory)
@Marker(value=Primary.class) public RequestHandler buildRequestHandler(org.slf4j.Logger logger, List<RequestFilter> configuration, @Primary Dispatcher masterDispatcher)
public ServletApplicationInitializer buildServletApplicationInitializer(org.slf4j.Logger logger, List<ServletApplicationInitializerFilter> configuration, @Primary ApplicationInitializer initializer)
@Marker(value={Primary.class,Traditional.class}) public ComponentEventResultProcessor buildComponentEventResultProcessor(Map<Class,ComponentEventResultProcessor> configuration, @ComponentClasses InvalidationEventHub hub)
@Marker(value=Ajax.class) public ComponentEventResultProcessor buildAjaxComponentEventResultProcessor(Map<Class,ComponentEventResultProcessor> configuration, @ComponentClasses InvalidationEventHub hub)
public static DataTypeAnalyzer buildDefaultDataTypeAnalyzer(@Autobuild DefaultDataTypeAnalyzer service, @ComponentClasses InvalidationEventHub hub)
public static TranslatorSource buildTranslatorSource(Map<Class,Translator> configuration, TranslatorAlternatesSource alternatesSource, @ComponentClasses InvalidationEventHub hub)
@Marker(value=Primary.class) public ObjectRenderer buildObjectRenderer(Map<Class,ObjectRenderer> configuration)
@Marker(value=ComponentLayer.class) public ClassFactory buildComponentClassFactory(ComponentInstantiatorSource source)
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.
@Marker(value=ComponentLayer.class) public PlasticProxyFactory buildComponentProxyFactory(ComponentInstantiatorSource source)
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.
@Marker(value=Primary.class) public Dispatcher buildMasterDispatcher(List<Dispatcher> configuration)
public Request buildRequest()
public HttpServletRequest buildHttpServletRequest()
Request
service instead, as
future version of Tapestry may operate beyond just the servlet API.
public HttpServletResponse buildHttpServletResponse()
public Response buildResponse()
public MarkupRenderer buildMarkupRenderer(org.slf4j.Logger logger, @Autobuild MarkupRendererTerminator terminator, List<MarkupRendererFilter> configuration)
MarkupRendererFilter
s.
public PartialMarkupRenderer buildPartialMarkupRenderer(org.slf4j.Logger logger, List<PartialMarkupRendererFilter> configuration, @Autobuild PartialMarkupRendererTerminator terminator)
PageRenderQueue
used for
partial page renders.
Supports an ordered configuration of PartialMarkupRendererFilter
s.
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)
public PageRenderRequestHandler buildPageRenderRequestHandler(List<PageRenderRequestFilter> configuration, org.slf4j.Logger logger, @Autobuild PageRenderRequestHandlerImpl terminator)
@Marker(value={Traditional.class,Primary.class}) public ComponentEventRequestHandler buildComponentEventRequestHandler(List<ComponentEventRequestFilter> configuration, org.slf4j.Logger logger, @Autobuild ComponentEventRequestHandlerImpl terminator)
@Marker(value={Ajax.class,Primary.class}) public ComponentEventRequestHandler buildAjaxComponentEventRequestHandler(List<ComponentEventRequestFilter> configuration, org.slf4j.Logger logger, @Autobuild AjaxComponentEventRequestHandler terminator)
AjaxComponentEventRequestHandler
. Filters on
the
request handler are supported here as well.
public void contributeApplicationStatePersistenceStrategySource(MappedConfiguration<String,ApplicationStatePersistenceStrategy> configuration, @Local ApplicationStatePersistenceStrategy sessionStategy)
public void contributeAssetSource(MappedConfiguration<String,AssetFactory> configuration, @ContextProvider AssetFactory contextAssetFactory, @ClasspathProvider AssetFactory classpathAssetFactory)
public void contributeComponentEventResultProcessor(@Traditional@ComponentInstanceProcessor ComponentEventResultProcessor componentInstanceProcessor, MappedConfiguration<Class,ComponentEventResultProcessor> configuration)
Link
Component
StreamResponse
@Contribute(value=ComponentEventResultProcessor.class) @Ajax public static void provideBaseAjaxComponentEventResultProcessors(MappedConfiguration<Class,ComponentEventResultProcessor> configuration)
RenderCommand
Block
Component
JSONObject
or JSONArray
StreamResponse
Link
Class
MultiZoneUpdate
RenderCommand
. You can then inject the master AjaxComponentEventResultProcessor (use the
Ajax
marker annotation) and delegate to it.
public static void contributeMasterDispatcher(OrderedConfiguration<Dispatcher> configuration, @InjectService(value="AssetDispatcher") Dispatcher assetDispatcher)
AssetDispatcher
PageRenderRequestParameters
and forwards onto
PageRenderRequestHandler
ComponentEventRequestParameters
and forwards onto the
ComponentEventRequestHandler
public void contributeObjectRenderer(MappedConfiguration<Class,ObjectRenderer> configuration, @InjectService(value="LocationRenderer") ObjectRenderer locationRenderer, TypeCoercer typeCoercer)
Request
, Location
,
ComponentResources
, EventContext
,
AvailableValues
,
List, and Object[].
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)
Environmental
service. Filters
often provide Environmental
services needed by
components as they render.
DocumentLinker
JavaScriptSupport
RenderSupport
ClientBehaviorSupport
Heartbeat
ValidationDecorator
(via ValidationDecoratorFactory.newInstance(org.apache.tapestry5.MarkupWriter)
)
public void contributePartialMarkupRenderer(OrderedConfiguration<PartialMarkupRendererFilter> configuration, ValidationDecoratorFactory validationDecoratorFactory, JavaScriptStackSource javascriptStackSource, JavaScriptStackPathConstructor javascriptStackPathConstructor, SymbolSource symbolSource, AssetSource assetSource)
PartialMarkupRendererFilter
s used when rendering a
partial Ajax response.
DocumentLinker
JavaScriptSupport
RenderSupport
ClientBehaviorSupport
Heartbeat
ValidationDecorator
(via ValidationDecoratorFactory.newInstance(org.apache.tapestry5.MarkupWriter)
)
public void contributePersistentFieldManager(MappedConfiguration<String,PersistentFieldStrategy> configuration, Request request, @InjectService(value="ClientPersistentFieldStrategy") PersistentFieldStrategy clientStrategy)
Session
Session
, until the next request (for the page)
public static ValueEncoderSource buildValueEncoderSource(Map<Class,ValueEncoderFactory> configuration, @ComponentClasses InvalidationEventHub hub)
public static void contributeValueEncoderSource(MappedConfiguration<Class,Object> configuration)
ValueEncoder
s or ValueEncoderFactory
s for types:
public void contributePageRenderRequestHandler(OrderedConfiguration<PageRenderRequestFilter> configuration, RequestSecurityManager securityManager)
public static void contributeResourceDigestGenerator(Configuration<String> configuration)
configuration
- collection of extensionspublic static void contributeTemplateParser(MappedConfiguration<String,URL> config)
public static void contributeFactoryDefaults(MappedConfiguration<String,Object> configuration)
public void contributeApplicationInitializer(OrderedConfiguration<ApplicationInitializerFilter> configuration, TypeCoercer typeCoercer, ComponentClassResolver componentClassResolver, @ComponentClasses InvalidationEventHub invalidationEventHub, @Autobuild RestoreDirtySessionObjects restoreDirtySessionObjects)
ComponentInstantiatorSource
that clears the
PropertyAccess
and TypeCoercer
caches on
a class loader invalidation. In addition, forces the
realization of ComponentClassResolver
at startup.
public void contributeComponentEventRequestHandler(OrderedConfiguration<ComponentEventRequestFilter> configuration, RequestSecurityManager requestSecurityManager, @Ajax ComponentEventRequestHandler ajaxHandler)
public static void contributeAjaxComponentEventRequestHandler(OrderedConfiguration<ComponentEventRequestFilter> configuration)
AjaxFormUpdateFilter
public static void contributeNullFieldStrategySource(MappedConfiguration<String,NullFieldStrategy> configuration)
NullFieldStrategySource
service.
public static void contributeHiddenFieldLocationRules(MappedConfiguration<String,RelativeElementPosition> configuration)
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.
public static LinkCreationHub buildLinkCreationHub(LinkSource source)
@Marker(value=ComponentClasses.class) public static InvalidationEventHub buildComponentClassesInvalidationEventHub(InternalComponentInvalidationEventHub trueHub)
InternalComponentInvalidationEventHub
service.
@Marker(value=ComponentTemplates.class) public static InvalidationEventHub buildComponentTemplatesInvalidationEventHub(ComponentTemplateSource templateSource)
@Marker(value=ComponentMessages.class) public static InvalidationEventHub buildComponentMessagesInvalidationEventHub(ComponentMessagesSource messagesSource)
@Scope(value="perthread") public Environment buildEnvironment(PerthreadManager perthreadManager)
@Marker(value=Primary.class) public SessionPersistedObjectAnalyzer buildSessionPersistedObjectAnalyzer(Map<Class,SessionPersistedObjectAnalyzer> configuration)
public static void contributeSessionPersistedObjectAnalyzer(MappedConfiguration<Class,SessionPersistedObjectAnalyzer> configuration)
ImmutableSessionPersistedObject
annotation),
and a handler for OptimizedSessionPersistedObject
.
@Marker(value=Primary.class) public StackTraceElementAnalyzer buildMasterStackTraceElementAnalyzer(List<StackTraceElementAnalyzer> configuration)
public static void contributeMasterStackTraceElementAnalyzer(OrderedConfiguration<StackTraceElementAnalyzer> configuration)
sun.reflect
(which are omitted)
OperationTracker
@Match(value="ComponentMessagesSource") public static void adviseLazy(LazyAdvisor advisor, MethodAdviceReceiver receiver)
ComponentMessagesSource
service so
that the creation
of Messages
instances can be deferred.
public ComponentRequestHandler buildComponentRequestHandler(List<ComponentRequestFilter> configuration, @Autobuild ComponentRequestHandlerTerminator terminator, org.slf4j.Logger logger)
public void contributeComponentRequestHandler(OrderedConfiguration<ComponentRequestFilter> configuration)
InitializeActivePageName
public static FieldValidatorDefaultSource decorateFieldValidatorDefaultSource(FieldValidatorDefaultSource defaultSource, Environment environment)
defaultSource
- The service to decorateenvironment
- public Heartbeat buildHeartbeat()
Heartbeat
as an injectable service.
public static void contributeJavaScriptStackSource(MappedConfiguration<String,JavaScriptStack> configuration)
JavaScriptStack
s
public static ComponentMessagesSource buildComponentMessagesSource(UpdateListenerHub updateListenerHub, @Autobuild ComponentMessagesSourceImpl service)
public static void contributeComponentMessagesSource(AssetSource assetSource, @Symbol(value="tapestry.app-catalog") Resource applicationCatalog, OrderedConfiguration<Resource> configuration)
SymbolConstants.APPLICATION_CATALOG
public static void contributeMetaWorker(MappedConfiguration<Class,MetaDataExtractor> configuration)
Meta
, Secure
, ContentType
and WhitelistAccessOnly
annotations.
@Marker(value=Primary.class) public ComponentTemplateLocator buildComponentTemplateLocator(List<ComponentTemplateLocator> configuration)
ComponentTemplateLocator
as a chain of command.
public static void contributeComponentTemplateLocator(OrderedConfiguration<ComponentTemplateLocator> configuration, @ContextProvider AssetFactory contextAssetFactory, @Symbol(value="tapestry.application-folder") String applicationFolder, ComponentClassResolver componentClassResolver)
DefaultTemplateLocator
PageTemplateLocator
)
@Marker(value=Primary.class) public ComponentEventLinkTransformer buildComponentEventLinkTransformer(List<ComponentEventLinkTransformer> configuration)
ComponentEventLinkTransformer
service as a chain of command.
@Marker(value=Primary.class) public PageRenderLinkTransformer buildPageRenderLinkTransformer(List<PageRenderLinkTransformer> configuration)
PageRenderLinkTransformer
service as a chain of command.
@Match(value="ComponentEventLinkEncoder") public ComponentEventLinkEncoder decorateLinkTransformer(LinkTransformer linkTransformer, ComponentEventLinkEncoder delegate)
ComponentEventLinkEncoder
service.
Other decorations
should come after LinkTransformer.
@Contribute(value=ServiceOverride.class) public static void productionModeOverrides(MappedConfiguration<Class,Object> configuration, @Symbol(value="tapestry.production-mode") boolean productionMode)
UpdateListenerHub
to be an empty placeholder.
@Contribute(value=ClientWhitelist.class) public static void defaultWhitelist(OrderedConfiguration<WhitelistAnalyzer> configuration)
@Startup public static void registerToClearPlasticProxyFactoryOnInvalidation(@ComponentClasses InvalidationEventHub hub, @Builtin PlasticProxyFactory proxyFactory)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |