# Package org.apache.tapestry5.annotations

Contains annotations, primarily those used inside component classes as well as a few specific to the tapestry-core services layer.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  ActivationRequestParameter | Marks a field of a page (not a component) as persistent within the URL, as with a page activation context.
  AfterRender | Marker annotation for methods associated with the AfterRender phase.
  AfterRenderBody | Corresponds to `BeforeRenderBody`, allowing additional markup after rendering the body of a component, but before rendering the rest of the component's template.
  AfterRenderTemplate | Corresponds to `BeforeRenderTemplate`, allowing additional markup after rendering the component's template.
  BeforeRenderBody | Marks methods to be invoked when the component rendering state machine hits the point in the component's template where the body element occurs.
  BeforeRenderTemplate | Associated with components that have a template, this phase is invoked to allow the component to decorate its template with additional markup.
  BeginRender | Marker annotation for methods that should be executed at the start of rendering the component.
  BindParameter | Designates a field in a mixin which is bound to the parameter of the containing component corresponding to the value of the annotation.
  Cached | Indicates that a method should only be evaluated once per request and the result cached.
  CleanupRender | Marker annotation for component methods associated with the terminal phase for the component rendering state machine.
  Component | Used to define an embedded component within another component.
  ContentType | An annotation on a page component used to identify the content type the page returns.
  DisableStrictChecks | Disables strict checks Tapestry-IoC or Tapestry may perform on methods.
  DiscardAfter | Marks a method of a page or a component to discard all persistent field changes.
  Environmental | Defines a field of a component class that is replaced at runtime with a read-only value obtained from the `Environment` service.
  Events | Annotation applied to components to document what events a component may trigger.
  HeartbeatDeferred | Marks a component method as deferred until the end of the `Heartbeat`.
  Id | Optional annotation, used with `Inject`, which exists to provide the id of an object when it can not be determined by other means (such as from the field name).
  Import | Annotations to control the importing of JavaScript stacks and libraries as well as stylesheets.
  InjectComponent | Allows components defined in the template to be injected as read-only properties.
  InjectContainer | Used to inject the component which contains this component.
  InjectPage | Allows a a page (really, the root component of the page) to be injected into another component as a read-only field.
  Log | Marker annotation for component methods to enable debug-level logging.
  Meta | Allows for the specification of per-component meta-data.
  Mixin | Defines an implementation mixin for a component.
  MixinAfter | A marker annotation applied to a mixin to indicate that the mixin's render state behavior is deferred until after the the behavior of the component to which the mixin is attached.
  MixinClasses | Used to attach one or more instance mixins to an embedded component.
  Mixins | Used to attach one ore more instance mixin to an embedded component.
  OnEvent | Marks a method as a handler for a client side event.
  PageActivationContext | Annotation for a field for which the page activation context handlers (onActivate and onPassivate) should be created.
  PageAttached | Method annotation used for methods that should be invoked when the page is first attached to a request.
  PageDetached | Method annotation used for methods that should be invoked when the page is detached at the end of a request, before it is returned to the page pool for later reuse.
  PageLoaded | Method annotation used for methods that should be invoked once the page is fully loaded.
  PageReset | Marker annotation for a method that should be invoked when a page is reset.
  Parameter | Annotation placed on a field to indicate that it is, in fact, a component parameter.
  Path | Used in conjunction with the `Inject` annotation to inject an `Asset` based on a path.
  Persist | Identifies a field as persistent, meaning its value persists from one request to the next.
  Property | Annotation for fields for which accessor methods (getters and setters) should be created.
  PublishEvent | Marks an event handler method to be published as an event to be called in JavaScript through the `t5/core/ajax` function when the `options` parameter has an `element` attribute.
  RequestParameter | Annotation that may be placed on parameters of event handler methods.
  Retain | Deprecated. This rarely used annotation is likely to cause threading issues starting in Tapestry 5.2 (which no longer pools pages but uses shared instances with externalized mutable state)
  Secure | A marker annotation that indicates that the page in question may only be accessed via HTTPS.
  Service | Used in conjunction with the `Inject` annotation to identify a service by name and not by type.
  SessionAttribute | Used to map a property of a page or component to value stored in session.
  SessionState | Marker annotation for a property that is a session state object (SSO) as controlled by the `ApplicationStateManager`.
  SetupRender | Marker annotation for methods that should be executed during the SetupRender phase.
  SupportsInformalParameters | Used to identify a component that can support informal parameters.
  UnknownActivationContextCheck | A marker annotation that indicates that the page in question may only be accessed with a exact activation context.
  WhitelistAccessOnly | Identifies a page that should only be accessed from clients on the whitelist.