# Package org.apache.tapestry5.services

Core services

- Interface Summary
  Interface | Description
  --- | ---
  ApplicationStateCreator<T> | Used by `ApplicationStateManager` and `ApplicationStatePersistenceStrategy` to create a Session State Object (SSO) on demand.
  ApplicationStateManager | Responsible for managing Session State Objects (SSO), objects which persist between requests but are not tied to any individual page or component.
  ApplicationStatePersistenceStrategy | Used by `ApplicationStateManager` to manage a specific kind of Session State Object (SSO) persistence.
  ApplicationStatePersistenceStrategySource | Used to provide access to `ApplicationStatePersistenceStrategySource` instances via a logical name for the strategy, such as "session".
  AssetFactory | Used by `AssetSource` to create new `Asset`s as needed.
  AssetPathConverter | Converts the path (or URI) of an asset into a new format.
  AssetSource | Used to find or create an `Asset` with a given path.
  BeanBlockOverrideSource | Used to override the default `BeanBlockSource` for a particular data type.
  BeanBlockSource | A source of `Block`s used to display the properties of a bean (used by the `Grid` component), or to edit the properties of a bean (used by the `BeanEditForm` component).
  BeanEditContext | Defines a context for editing a bean via `BeanEditor`.
  BindingFactory | Creates a binding of a particular type.
  BindingSource | Used to acquire bindings for component parameters.
  ClasspathAssetAliasManager | Deprecated. Deprecated in 5.4, with no replacement.
  ClasspathAssetProtectionRule | Chain-of-responsibility service which defines rules for blocking access to classpath resources based on their paths.
  ClientBehaviorSupport | Deprecated. Deprecated in 5.4 with no replacement.
  ClientDataEncoder | A service used when a component or service needs to encode some amount of data on the client as a string.
  ClientDataSink | Allows binary object data to be encoded into a string.
  ComponentClassResolver | Resolves page names and component types to fully qualified class names.
  ComponentDefaultProvider | A service that can be injected into a component to provide common defaults for various types of parameters.
  ComponentEventHandler | Interface used with `TransformationSupport.addEventHandler(String, int, String, ComponentEventHandler)`}.
  ComponentEventLinkEncoder | Responsible for creating `Link`s for page render requests and for component event requests, and for parsing incoming paths to identify requests that are component event or page render requests.
  ComponentEventRequestFilter | Filter interface for `ComponentEventRequestHandler`.
  ComponentEventRequestHandler | Handler interface for component event requests.
  ComponentEventResultProcessor<T> | Responsible for handling the return value provided by a component event handler method.
  ComponentLibraryInfo.SourceUrlResolver | Interface that provides the source URL for a given `ComponentLibraryInfo`.
  ComponentLibraryInfoSource | Service that provides information about component libraries.
  ComponentOverride | Service that allows replacing one component, page or mixin class by another without changing the sources.
  ComponentRequestFilter | Filter interface for `ComponentRequestHandler`.
  ComponentRequestHandler | A facade around `ComponentEventRequestHandler` and `PageRenderRequestHandler` that allows for simplified filters that cover both types of requests.
  ComponentSource | Used by classes that need to retrieve a component by its complete id, or a page by its logical page name or root component class.
  ContextPathEncoder | A service to provide utilities needed for event context encoding and decoding to and from (partial) URL paths.
  ContextValueEncoder | Used to convert values used in event contexts to client string representations and back.
  Cookies | Used by other services to obtain cookie values for the current request, or to write cookie values as part of the request.
  DateUtilities | Formatting utilities for dates; this is primarily used when communicating server-side dates to the clients in ISO-8601 format.
  Environment | Provides access to environment objects, which are almost always provided to enclosed components by enclosing components.
  EnvironmentalShadowBuilder | Much like `PropertyShadowBuilder`, except that instead of accessing a property of some other service, it accesses a value from within the `Environment` service.
  ExceptionReporter | Interface implemented by a page used for reporting exceptions.
  ExceptionReportWriter | Used by the default `ExceptionReporter` implementation to convert an exception into a stream of text that can be stored to a file.
  FieldTranslatorSource | For a particular field, generates the default `FieldTranslator` for the field.
  FieldValidatorDefaultSource | For a particular field, generates the default validation for the field, in accordance with a number of factors and contributions.
  FieldValidatorSource | Used to create `FieldValidator`s for a particular `Field` component.
  FormSupport | Services provided by an enclosing Form control component to the various form element components it encloses.
  Heartbeat | Allows for deferred execution of logic, useful when trying to get multiple components to coordinate behavior.
  HiddenFieldLocationRules | Provides some assistance in determining where to place a hidden field based on standard (X)HTML elements.
  Html5Support | Service related to Tapestry's support of HTML5 features.
  LinkCreationHub | A service that allows listeners to be registered to learn about `Link` creation.
  LinkCreationListener | Deprecated. Use `LinkCreationListener2` instead
  LinkCreationListener2 |
  LocalizationSetter | Sets the thread's locale given a desired locale.
  MarkupRenderer | An object which will perform rendering of a page (or portion of a page).
  MarkupRendererFilter | Filter interface for `MarkupRenderer`, which allows for code to execute before and/or after the main rendering process.
  MarkupWriterFactory | Source for `MarkupWriter` instances.
  MetaDataLocator | Used to lookup meta data concerning a particular component.
  MethodInvocationResult | Captures the result of invoking a method.
  NullFieldStrategySource | A source for `NullFieldStrategy` instances based on a logical name.
  ObjectRenderer<T> | A strategy interface used for converting an object into markup that describes that object.
  PageDocumentGenerator | Interface used to programatically render a page, forming a `Document` which can then be manipulated or streamed to a PrintWriter.
  PageRenderLinkSource | A service that allows other services to create page render links.
  PageRenderRequestFilter | Filter interface for `PageRenderRequestHandler`, which allows extra behaviors to be injected into the processing of a page render request.
  PageRenderRequestHandler | Handles a invocation related to rendering out a pages complete content.
  PartialMarkupRenderer | Defines an Ajax-oriented partial page render, wherein a render of a portion of a page occurs, and the content is stored into a key ("content") of a `JSONObject`, which is sent to the client side as the final response.
  PartialMarkupRendererFilter | A filter (the main interface being `PartialMarkupRenderer`) applied when performing a partial page render as part of an Ajax-oriented request.
  PartialTemplateRenderer | Service that provides methods that render `Block`s (`<t:block>` in the template), component instances and `RenderCommand`s to a `String` or `org.apache.tapestry5.dom.Document` in a programatic way.
  PathConstructor | Central location for logic related to building client-side paths, taking into account the context path (if any), and the `SymbolConstants.APPLICATION_FOLDER` (if any).
  PersistentFieldBundle | Encapsulates persisted property information for an entire page.
  PersistentFieldChange | Represents a previously stored change to a persistent field, within the context of a particular page of the application.
  PersistentFieldStrategy | Defines how changes to fields (within components, within pages) may have their values persisted between requests.
  PersistentLocale | Manages the persistent locale stored in the browser (inside the URL).
  PropertyEditContext | Defines a context for editing a property of a bean via `BeanEditor`.
  PropertyOutputContext | Provides context information needed when displaying a value.
  RequestExceptionHandler | Service invoked when an uncaught exception occurs.
  ResourceDigestGenerator | Deprecated. Deprecated in 5.4 with no replacement; see release notes about classpath assets moving to /META-INF/assets/, and content checksums inside asset URLs
  ResponseRenderer | Public facade around internal services related to rendering a markup response.
  SelectModelFactory | Used to create an `SelectModel`.
  StackTraceElementAnalyzer | Used by `ExceptionDisplay` to characterize each stack frame that is presented.
  TranslatorAlternatesSource | This service is used by `TranslatorSource` to specify `Translator` alternates: translators that are used when specified explicitly by name.
  TranslatorSource | A source for `Translator`s, either by name or by property type.
  URLEncoder | Service used to encode or decode strings that are placed into URLs.
  ValidationConstraintGenerator | Invoked to generate a list of validation constraint strings for a property.
  ValidationDecoratorFactory | Deprecated. Deprecated in 5.4 with no replacement, as `ValidationDecorator` is being phased out.
  ValueEncoderFactory<V> | A source for `ValueEncoder` instances of a given type.
  ValueEncoderSource | A source for value encoders based on a property type.
  ValueLabelProvider<V> | An object capable of providing a user-presentable label from a value.

- Class Summary
  Class | Description
  --- | ---
  ApplicationStateContribution | A contribution to the configuration of the `ApplicationStateManager`, identifying the strategy and creator for a particular Session State Object (SSO), identified by the SSO's class.
  AssetAlias | Deprecated. Deprecated in 5.4 (see notes in `ClasspathAssetAliasManager`).
  BeanBlockContribution | A contribution to the `BeanBlockSource` service, defining a page name and block id (within the page) that can edit or display a particular type of property.
  ComponentEventRequestParameters | Encapsulates all the information that may be provided in a component event request URL.
  ComponentLibraryInfo | Class that encapsulates information about a component library, going beyond what a library mapping provides.
  ComponentLibraryInfo.DefaultSourceUrlResolver | Default `ComponentLibraryInfo.SourceUrlResolver` implementation.
  DefaultObjectRenderer | Default object renderer as a catch all for class `Object`.
  DelegatingRequest | Class that wraps an Request, delegating all its methods.
  DisplayBlockContribution | Contribution to `BeanBlockSource` identifying a block that is used to display a property.
  EditBlockContribution | Contribution to `BeanBlockSource` identifying a block that is used to edit a property.
  HttpError | An event handler method may return an instance of this class to send an error response to the client.
  InitializeActivePageName | Filter contributed into the `ComponentRequestHandler` pipeline to set the `activePageName property`.
  LibraryMapping | Used to configure the `ComponentClassResolver`, to allow it to map library names to library root packages (the application namespace is a special case of this).
  PageRenderRequestParameters | Used with `PageRenderRequestHandler` and `PageRenderRequestFilter` to define the logical page name and activation context for the request.
  StackTraceElementClassConstants | CSS classes, from the default CSS stylesheet, used with `StackTraceElementAnalyzer`.
  StreamPageContent | An event handler method may return an instance of this class to trigger the rendering of a particular page without causing a redirect to that page; the rendering takes place as part of the original component event request, thus forming the opposite of Tapestry's normal redirect-after-event behavior.
  TransformConstants | Constants used by implementations `ComponentClassTransformWorker2`.
  TransformUtils | Support code for generating code (used when transforming component classes).

- Enum Summary
  Enum | Description
  --- | ---
  RelativeElementPosition | Used by `HiddenFieldLocationRules` to identify where a hidden field may be placed relative to a particular element.

- Exception Summary
  Exception | Description
  --- | ---
  AssetNotFoundException | Class that represents the exception of an asset not being found.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  Ajax | Marker annotation for services related to processing an Ajax request (rather than a traditional request).
  AssetRequestDispatcher | Marker annotation used to specifically identify the `Dispatcher` used to dispatch asset requests (so that `AssetRequestHandler`s can be contributed).
  ClasspathProvider | A marker annotation used to select the correct `AssetFactory` for injection.
  ComponentMessages | Marker annotation used to inject the correct `InvalidationEventHub` service responsible for validations when component message catalog (i.e., ".properties") files change.
  ComponentTemplates | Marker annotation used to inject the correct `InvalidationEventHub` service responsible for validations when component template files change.
  ContextProvider | Marker annotation to select the correct `AssetFactory` for injection.
  Core | Marker annotation for services that are provided by the Tapestry core module.
  Traditional | Marker annotation for a service that should be used for traditional page oriented requests, as opposed to Ajax requests (that send ad-hoc or partial page markup responses.