# Package org.apache.tapestry5.internal.transform

[INTERNAL USE ONLY] component class transformation implementation classes; API subject to change.

- Interface Summary
  Interface | Description
  --- | ---
  EventHandlerMethodParameterProvider | Supplies one parameter value when invoking a component event handler method.
  MethodResultCache | Manages a cache value as the result of invoking a no-arguments method.
  ParameterConduit | A facade around `Binding` and `InternalComponentResources` that is used to instrument fields with the `Parameter` annotation.

- Class Summary
  Class | Description
  --- | ---
  ActivationRequestParameterWorker | Hooks the activate event handler on the component (presumably, a page) to extract query parameters, and hooks the link decoration events to extract values and add them to the `Link`.
  ApplicationStateWorker | Looks for the `SessionState` annotations and converts read and write access on such fields into calls to the `ApplicationStateManager`.
  BindParameterWorker | Responsible for identifying, via the `BindParameter` annotation, mixin fields that should be bound to a core-component parameter value.
  CachedWorker | Caches method return values for methods annotated with `Cached`.
  ComponentWorker | Finds fields with the `Component` annotation and updates the model.
  DiscardAfterWorker |
  EnvironmentalWorker | Obtains a value from the `Environment` service based on the field type.
  EventHandlerMethodParameterSource | Used to encapsulate the list of `EventHandlerMethodParameterProvider`s for a particular method of a particular component, providing `OperationTracker` behavior as parameter values are obtained/computed/coerced.
  HeartbeatDeferredWorker |
  ImportWorker | Implements the `Import` annotation, both at the class and at the method level.
  InjectComponentWorker | Recognizes the `InjectComponent` annotation, and converts the field into a read-only field containing the component.
  InjectContainerWorker | Identifies the `InjectContainer` annotation and adds code to initialize it to the core component.
  InjectNamedProvider | Processes the combination of `Inject` and `Named` annotations.
  InjectPageWorker | Performs transformations that allow pages to be injected into components.
  InjectServiceWorker | Processes the `InjectService` annotation.
  InjectWorker | Performs injection triggered by any field annotated with the `Inject` annotation or the `Inject` annotation.
  LogWorker | Looks for the `Log` marker annotation and adds method advice to perform the logging.
  MixinAfterWorker | Looks for the `MixinAfter` annotation and sets the `mixinAfter flag` if present.
  MixinWorker | Supports the `Mixin` annotation, which allows a mixin to be part of the implementation of a component.
  OnEventWorker | Provides implementations of the `Component.dispatchComponentEvent(org.apache.tapestry5.runtime.ComponentEvent)` method, based on `OnEvent` annotations and naming conventions.
  OperationWorker | Add support for the `Operation` annotation on component class methods.
  PageActivationContextWorker | Provides the page activation context handlers.
  PageLifecycleAnnotationWorker | Similar to `RenderPhaseMethodWorker` but applies to annotations/methods related to the overall page lifecycle.
  PageResetAnnotationWorker | Implementation of the `PageReset` annotation.
  ParameterWorker | Responsible for identifying parameters via the `Parameter` annotation on component fields.
  PersistWorker | Converts fields with the `Persist` annotation into persistent fields.
  PropertyWorker | Provides the getter and setter methods.
  ReadOnlyComponentFieldConduit | An implementation of `FieldConduit` for a read-only component field.
  RenderCommandWorker | Ensures that all components implement `RenderCommand` by delegating to `RenderCommand.render(org.apache.tapestry5.MarkupWriter, org.apache.tapestry5.runtime.RenderQueue)`.
  RenderPhaseMethodWorker | Converts one of the methods of `Component` into a chain of command that, itself, invokes certain methods (render phase methods) marked with an annotation, or named in a specific way.
  RetainWorker | Identifies fields with the `Retain` annotation, and "claims" them so that no special work will occur on them.
  SessionAttributeWorker | Looks for the `SessionAttribute` annotation and converts read and write access on such fields into calls to the `Session.getAttribute(String)` and `Session.setAttribute(String, Object)`.
  SupportsInformalParametersWorker | Checks for the `SupportsInformalParameters` annotation, settting the corresponding flag on the model if present.
  UnclaimedFieldWorker | Designed to be just about the last worker in the pipeline.