# Package org.apache.tapestry5.internal.services

[INTERNAL USE ONLY] internal service classes; API subject to change

- Interface Summary
  Interface | Description
  --- | ---
  AjaxPartialResponseRenderer | Used to render portions of a page as part of an Ajax request.
  ClientPersistentFieldStorage | Describes an object that can store `PersistentFieldChange`s, and manage a query parameter stored into a `Link` to maining this data across requests.
  ComponentClassCache | A cache for converting between class names and component (or other) classes.
  ComponentInstantiatorSource | Creates `Instantiator`s for components, based on component class name.
  ComponentModelSource | Access to component models (as provided via `ComponentInstantiatorSource`).
  ComponentResourcesOperation | Deprecated. In Tapestry 5.4; use `MethodAdvice` and other parts of the new (in 5.3) plastic library.
  ComponentTemplateSource | Provides access to cached `ComponentTemplate`s.
  CookieSink | You can write cookies to it.
  CookieSource | Provides the cookies from the browser.
  DocumentLinker | Responsible for injecting script and style links into the <head> and <body> element of the rendered HTML document.
  EndOfRequestEventHub | Manages request notifications for the `EndOfRequestListener` interface.
  ForceReload | Forces a reload of all caches and invalidates the component class cache.
  FormControlNameManager | Service providing methods related to names that shouldn't be used as form control element names or ids.
  Instantiator | An object that can instantiate a component.
  InternalComponentInvalidationEventHub | Split-out implementation of `InvalidationEventHub` that separates it from `ComponentInstantiatorSource`.
  InternalRequestGlobals | Stores global per-request data internal to the framework.
  LinkSource | A source for `Link` objects.
  MessagesBundle | Represents a bundle of properties files that can be used to collect properties that are eventually used to form a `Messages`.
  MessagesSource |
  PageActivationContextCollector | Fires the `EventConstants.PASSIVATE` event on a page, and collects the result, converting it to an array of objects.
  PageActivator | Responsible for firing the EventConstants.ACTIVATE event on the page.
  PageContentTypeAnalyzer |
  PageElementFactory | Used by the `PageLoader` to create partialar page elements.
  PageLoader | Instantiates a fully loaded, configured instance of a Tapestry page.
  PageMarkupRenderer | Service used to render page markup using a MarkupWriter.
  PageRenderQueue | A wrapper around `RenderQueue`, but referencable as a (per-thread) service.
  PageResponseRenderer | Service responsible for writing a full page markup response.
  PageSource | Access to localized page instances (which are now shared singletons, starting in release 5.2).
  PersistentFieldManager | Handle persistent property changes.
  ReloadHelper | Forces a reload of all caches and invalidates the component class cache.
  RequestEncodingInitializer | Determines the reuest encoding for the given page and applies that to the request, so that parameters may be properly decoded.
  RequestPageCache | Per-thread service that caches page instances for the duration of the request, and is also responsible for tracking the active page (the page which will ultimately render the response).
  RequestSecurityManager | Used to manage the relationship between the security of a request and the security of a page.
  ResourceDigestManager | Deprecated. Deprecated in 5.4 with no replacement; see release notes about classpath assets moving to /META-INF/assets/.
  ResourceStreamer | Responsible for streaming the contents of a resource to the client.
  StringProvider | Interface used when assembling an attribute value that contains expansions.
  TemplateParser | Parses a resource into a `ComponentTemplate`.
  UnknownActivationContextHandler | Responsible for handling the response for a page called with an unknown activation context when the check itself is enabled.

- Class Summary
  Class | Description
  --- | ---
  AbstractAsset | Base class for assets.
  AbstractAssetFactory |
  AbstractSessionPersistentFieldStrategy | Base class for strategies that store their values as keys in the session.
  AjaxComponentEventRequestHandler | Similar to `ComponentEventRequestHandlerImpl`, but built around the Ajax request cycle, where the action request sends back an immediate JSON response containing the new content.
  AjaxComponentInstanceEventResultProcessor | Performs a partial page render based on a root component.
  AjaxFilter | A filter that intercepts Ajax-oriented requests, thos that originate on the client-side using XmlHttpRequest.
  AjaxLinkComponentEventResultProcessor | Handles `Link` result types by building a JSON response with key "redirectURL".
  AjaxPageClassComponentEventResultProcessor | Processes a Class result by converting the Class to a logical page name, then processing that.
  AjaxPageNameComponentEventResultProcessor | A `ComponentEventResultProcessor`, used for Ajax requests, for a String value that is interpreted as a logical page name.
  AjaxPartialResponseRendererImpl |
  AjaxURLComponentEventResultProcessor | Handles `URL` result types by building a JSON response with key "redirectURL".
  ApplicationMessageCatalogObjectProvider | Allows for injection of the global application message catalog into services.
  ApplicationStackTraceElementAnalyzer | Identifies frames for application classes.
  ApplicationStateManagerImpl |
  ApplicationStatePersistenceStrategySourceImpl |
  ArrayEventContext | Simple implementation of `EventContext`.
  AssetDispatcher | Recognizes requests where the path begins with "/asset/" (actually, as defined by the `SymbolConstants.ASSET_PATH_PREFIX` symbol), and delivers the content therein as a bytestream.
  AssetInjectionProvider | Performs injection of assets, based on the presence of the `Path` annotation.
  AssetObjectProvider | Exposes assets (in the current locale).
  AssetSourceImpl |
  AttributeExpansionBinding | Wraps a `StringProvider` as a read-only `Binding`.
  AttributeInfo | Tracks the qualified name and value of an attribute within a start element XMLToken.
  BeanBlockOverrideSourceImpl |
  BeanBlockSourceImpl |
  BindingSourceImpl |
  BlockInjectionProvider | Identifies fields of type `Block` that have the `Inject` annotation and converts them into read-only fields containing the injected Block from the template.
  CheckForUpdatesFilter | Implements a barrier that periodically asks the `UpdateListenerHub` to check for updates to files.
  ClasspathAssetAliasManagerImpl |
  ClasspathAssetFactory | Generates Assets for files on the classpath.
  ClassResultProcessor | Used when a component event handler returns a class value.
  ClientBehaviorSupportImpl |
  ClientDataEncoderImpl |
  ClientDataSinkImpl |
  ClientPersistentFieldStorageImpl | Manages client-persistent values on behalf of a `ClientPersistentFieldStorageImpl`.
  ClientPersistentFieldStrategy | Implements simple client-persistent properties.
  CommonResourcesInjectionProvider | Allows for a number of anonymous injections based on the type of field that is to be injected.
  ComponentClassCacheImpl |
  ComponentClassResolverImpl |
  ComponentDefaultProviderImpl |
  ComponentEventDispatcher | Processes component action events sent as requests from the client.
  ComponentEventImpl |
  ComponentEventLinkEncoderImpl |
  ComponentEventRequestHandlerImpl |
  ComponentInstanceResultProcessor |
  ComponentInstantiatorSourceImpl | A wrapper around a `PlasticManager` that allows certain classes to be modified as they are loaded.
  ComponentMessagesSourceImpl |
  ComponentModelSourceImpl |
  ComponentRequestHandlerTerminator | Terminator for the `ComponentRequestHandler` pipeline, that feeds out into the `ComponentEventRequestHandler` and `PageRenderRequestHandler` pipelines.
  ComponentResultProcessorWrapper | A wrapper around `ComponentEventResultProcessor` that encapsulates capturing the exception.
  ComponentSourceImpl |
  ComponentTemplateSourceImpl | Service implementation that manages a cache of parsed component templates.
  CompositeFieldValidator | Aggregates together a number of field validator instances as a single unit.
  ContextAssetFactory | Implementation of `AssetFactory` for assets that are part of the web application context.
  ContextPathEncoderImpl |
  ContextResource | A resource stored with in the web application context.
  ContextValueEncoderImpl |
  CookiesImpl | Implementation of the `Cookies` service interface.
  DateUtilitiesImpl |
  DefaultInjectionProvider | Worker for the `Inject` annotation that delegates out to the master `MasterObjectProvider` to access the value.
  DefaultRequestExceptionHandler | Default implementation of `RequestExceptionHandler` that displays the standard ExceptionReport page.
  DeferredResponseRenderer | After processing the component event request (including Ajax requests), or the page render request, checks for the `TapestryConstants.RESPONSE_RENDERER` request attribute, and invokes it to render the deferred response.
  DocumentLinkerImpl |
  DTDData | A capturing of the data from `LexicalHandler.startDTD(String, String, String)`.
  EndOfRequestEventHubImpl |
  EnumValueEncoderFactory<E extends Enum<E>> | Deprecated. this class is superseded by `TypeCoercedValueEncoderFactory` and scheduled to be removed in Tapestry 5.5
  EnumValueLabelProvider<T extends Enum> | Provides a label from enum.
  EnvironmentalShadowBuilderImpl |
  EnvironmentImpl | A non-threadsafe implementation (expects to use the "perthread" service lifecyle).
  EventImpl |
  ExternalUrlAssetFactory |
  FieldTranslatorImpl<T> |
  FieldTranslatorSourceImpl |
  FieldValidationSupportImpl |
  FieldValidatorDefaultSourceImpl |
  FieldValidatorImpl |
  FieldValidatorSourceImpl |
  FlashPersistentFieldStrategy | The "flash" strategy stores data inside the `session`, just like `SessionPersistentFieldStrategy`, but also removes the values from the session on first use.
  FormControlNameManagerImpl |
  GenericValueEncoderFactory<V> | An implementation of `ValueEncoderFactory` that returns a pre-wired instance of `ValueEncoder`.
  HeartbeatImpl |
  HiddenFieldLocationRulesImpl |
  Html5SupportImpl |
  HttpErrorComponentEventResultProcessor | Handles `HttpError` by invoking `Response.sendError(int, String)`.
  IdentityAssetPathConverter | Returns the default asset path unchanged.
  IgnoredPathsFilter |
  InternalComponentInvalidationEventHubImpl |
  InternalRequestGlobalsImpl |
  JSONArrayEventResultProcessor |
  JSONObjectEventResultProcessor | Implementation of `ComponentEventResultProcessor` for `JSONObject`, allowing a component event handler to return a JSONObject that will be sent directly to the client as the reply.
  LinkDecorationListener | A default `LinkCreationListener2` that triggers the `EventConstants.DECORATE_COMPONENT_EVENT_LINK` and `EventConstants.DECORATE_PAGE_RENDER_LINK` events as links are generated.
  LinkImpl |
  LinkSourceImpl |
  LocalizationSetterImpl | Given a set of supported locales, for a specified desired locale, sets the current thread's locale to a supported locale that is closest to the desired.
  MapMessages | Implementation of `Messages` based on a simple Map (of string keys and values).
  MarkupRendererTerminator | Terminator for the [@link MarkupRenderer} pipeline, which exists to invoke `PageRenderQueue.render(org.apache.tapestry5.MarkupWriter)`.
  MarkupWriterFactoryImpl |
  MarkupWriterImpl |
  MavenComponentLibraryInfoSource | `ComponentLibraryInfoSource` implementation based on the pom.xml and pom.properties files Maven places in the /META-INF/maven/[groupId]/[artifactId] folder.
  MessagesSourceImpl | A utility class that encapsulates all the logic for reading properties files and assembling `Messages` from them, in accordance with extension rules and locale.
  MetaDataLocatorImpl |
  MethodInvocationFailResult | Implementation of `MethodInvocationResult` for failed invocations (where a checked exception was thrown).
  MethodInvocationSuccessfulResult | Implementation of `MethodInvocationResult` for successful method invocations.
  ModuleInitsManager |
  NullFieldStrategySourceImpl |
  ObjectComponentEventResultProcessor | A catch-all for type Object that reports the return value as an error.
  PageActivationContextCollectorImpl |
  PageActivatorImpl |
  PageContentTypeAnalyzerImpl |
  PageDocumentGeneratorImpl |
  PageElementFactoryImpl |
  PageMarkupRendererImpl |
  PageNameComponentEventResultProcessor | Used when a component event handler returns a string value.
  PageNameMetaInjector | Injects a `<meta/>` element into the `<head/>` to identify the Tapestry page name.
  PageRenderDispatcher | Dispatches incoming requests for render requests.
  PageRenderLinkSourceImpl |
  PageRenderQueueImpl | This services keeps track of the page being rendered and the root command for the partial render, it is therefore request/thread scoped.
  PageRenderRequestHandlerImpl | Handles a page render request by activating and then rendering the page.
  PageResponseRendererImpl |
  PageSourceImpl |
  PartialMarkupDocumentLinker |
  PartialMarkupRendererTerminator | Terminator for the `PartialMarkupRenderer` pipeline, which ultimately invokes `PageRenderQueue.renderPartial(org.apache.tapestry5.MarkupWriter, org.apache.tapestry5.json.JSONObject)` .
  PartialTemplateRendererImpl |
  PathConstructorImpl |
  PersistentFieldBundleImpl |
  PersistentFieldChangeImpl |
  PersistentFieldManagerImpl |
  PersistentLocaleImpl |
  PrefixCheckStackTraceElementAnalyzer | Checks to see if a class has a given prefix to its class name.
  ProductionModeUnknownComponentFilter | A filter, used only in production mode, that does a "pre-flight check" that the indicated component actually exists.
  PropertyValueLabelProvider | Provides a label from a property of the passed object.
  ProxiesStackTraceElementAnalyzer | Identifies frames for various proxy classes (class name starts with a '$' and there's no line number.
  RegexpStackTraceElementAnalyzer | Uses a regular expression to identify which CSS class to apply to a frame.
  ReloadHelperImpl |
  RenderCommandComponentEventResultProcessor | Processor for objects that implement `RenderCommand` (such as `BlockImpl`), used with an Ajax component event.
  RenderQueueImpl |
  RequestConstants | Constants used when processing requests from the client web browser.
  RequestErrorFilter | Filter for the `RequestHandler` pipeline used to intercept and report exceptions.
  RequestOperationTracker | Uses `OperationTracker` to add an operation generally describing each request.
  RequestPageCacheImpl | In Tapestry 5.1, the implementation of this worked with the page pool (a pool of page instances, reserved to individual requests/threads).
  RequestSecurityManagerImpl |
  ResourceDigestGeneratorImpl | Gutted implementation; will be removed in Tapestry 5.5.
  ResourceDigestManagerImpl |
  ResourceStreamerImpl |
  ResponseRendererImpl |
  RestoreDirtySessionObjects | A listener that invokes `Session.restoreDirtyObjects()`.
  RootPathDispatcher | Recognizes a request for the application root (i.e., "/") and handles this the same as a render request for the "Start" page.
  SaxTemplateParser | SAX-based template parser logic, taking a `Resource` to a Tapestry template file and returning a `ComponentTemplate`.
  SelectModelFactoryImpl |
  ServiceAnnotationObjectProvider | Adds support for the `Service` annotation (which can be applied to fields or parameters), which is used to disambiguate injection when multiple services implement the same service interface.
  ServiceInjectionProvider | A very late worker related to the `Inject` annotation that, when all other forms of injection have failed, matches the field type to a service interface.
  SessionApplicationStatePersistenceStrategy | Stores ASOs in the `Session`, which will be created as necessary.
  SessionPersistentFieldStrategy | A strategy for storing persistent page properties into the `session`.
  StaticFilesFilter | Identifies requests that are for actual resource files in the context.
  StreamPageContentResultProcessor | Used to trigger the rendering of a particular page without causing a redirect to that page.
  StreamResponseResultProcessor |
  StringValueEncoder | Passes the string value from the server to the client and vice-versa without any translation.
  SyntheticStackTraceElementAnalyzer | Identifies any code associated with line 1 as omitted (i.e., it's a synthetic method related to an inner class).
  TapestryAOPStackFrameAnalyzer | Encapsulates a number of tests for identifying stack frames that are a side-effect of various Tapestry Aspect Oriented Programming and other code generation behaviors.
  TemplateParserImpl | Parses Tapestry XML template files into `ComponentTemplate` instances.
  TranslatorAlternatesSourceImpl |
  TranslatorSourceImpl |
  TypeCoercedValueEncoderFactory | Provides `ValueEncoder` instances that are backed by the `TypeCoercer` service.
  UnknownActivationContextHandlerImpl | Default implementation for `UnknownActivationContextHandler` which answer with a 404 NOT FOUND error.
  UrlAsset |
  URLEncoderImpl |
  UrlResource |
  ValidationConstraintGeneratorImpl |
  ValidationDecoratorFactoryImpl |
  ValidatorSpecification | Validator type and constraint values parsed from a validator specification.
  ValueEncoderSourceImpl |
  XMLTokenStream | Parses a document as a stream of XML tokens.

- Enum Summary
  Enum | Description
  --- | ---
  ResourceStreamer.Options | Used to customize the behavior of `ResourceStreamer.streamResource(org.apache.tapestry5.commons.Resource, java.lang.String, java.util.Set)`.
  XMLTokenType | Identifies type of `XMLToken`.

- Exception Summary
  Exception | Description
  --- | ---
  MethodCompileException | Exception thrown when a method body fails to compile; this will allow the method body to be displayed to the user on the request failure page.
  RenderQueueException | Exception used when rendering, to capture the stack of active components (for propery reporting in the exception page).

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  ComponentInstanceProcessor | Marker for `ComponentEventResultProcessor` to identify the particular implementation used for handling `Component` instances (i.e., pages).