## Uses of Class
org.apache.tapestry5.ioc.annotations.UseWith

- Packages that use UseWith
  Package | Description
  --- | ---
  org.apache.tapestry5.annotations | Contains annotations, primarily those used inside component classes as well as a few specific to the tapestry-core services layer.
  org.apache.tapestry5.beaneditor | Support classes for the `BeanEditor` component.
  org.apache.tapestry5.clojure | Allows Clojure functions to be injected into Tapestry services and components
  org.apache.tapestry5.hibernate.annotations | Annotations for using Hibernate within Tapestry components or services
  org.apache.tapestry5.ioc.annotations | Annotations for Tapestry IOC services
  org.apache.tapestry5.jpa.annotations | JPA annotations
  org.apache.tapestry5.kaptcha.annotations | Kaptcha annotations
  org.apache.tapestry5.services | Core services

- - ### Uses of UseWith in org.apache.tapestry5.annotations

    Classes in org.apache.tapestry5.annotations with annotations of type UseWith
    Modifier and Type | Class and Description
    --- | ---
    `interface` | `ActivationRequestParameter` Marks a field of a page (not a component) as persistent within the URL, as with a page activation context.
    `interface` | `AfterRender` Marker annotation for methods associated with the AfterRender phase.
    `interface` | `AfterRenderBody` Corresponds to `BeforeRenderBody`, allowing additional markup after rendering the body of a component, but before rendering the rest of the component's template.
    `interface` | `AfterRenderTemplate` Corresponds to `BeforeRenderTemplate`, allowing additional markup after rendering the component's template.
    `interface` | `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.
    `interface` | `BeforeRenderTemplate` Associated with components that have a template, this phase is invoked to allow the component to decorate its template with additional markup.
    `interface` | `BeginRender` Marker annotation for methods that should be executed at the start of rendering the component.
    `interface` | `BindParameter` Designates a field in a mixin which is bound to the parameter of the containing component corresponding to the value of the annotation.
    `interface` | `Cached` Indicates that a method should only be evaluated once per request and the result cached.
    `interface` | `CleanupRender` Marker annotation for component methods associated with the terminal phase for the component rendering state machine.
    `interface` | `Component` Used to define an embedded component within another component.
    `interface` | `ContentType` An annotation on a page component used to identify the content type the page returns.
    `interface` | `DiscardAfter` Marks a method of a page or a component to discard all persistent field changes.
    `interface` | `Environmental` Defines a field of a component class that is replaced at runtime with a read-only value obtained from the `Environment` service.
    `interface` | `Events` Annotation applied to components to document what events a component may trigger.
    `interface` | `HeartbeatDeferred` Marks a component method as deferred until the end of the `Heartbeat`.
    `interface` | `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).
    `interface` | `ImmutableSessionPersistedObject` Marker annotation that can be placed on a session-persisted object to indicate that the object is immutable, and therefore does not require end-of-request restoring into the session.
    `interface` | `Import` Annotations to control the importing of JavaScript stacks and libraries as well as stylesheets.
    `interface` | `InjectComponent` Allows components defined in the template to be injected as read-only properties.
    `interface` | `InjectContainer` Used to inject the component which contains this component.
    `interface` | `InjectPage` Allows a a page (really, the root component of the page) to be injected into another component as a read-only field.
    `interface` | `Log` Marker annotation for component methods to enable debug-level logging.
    `interface` | `Meta` Allows for the specification of per-component meta-data.
    `interface` | `Mixin` Defines an implementation mixin for a component.
    `interface` | `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.
    `interface` | `MixinClasses` Used to attach one or more instance mixins to an embedded component.
    `interface` | `Mixins` Used to attach one ore more instance mixin to an embedded component.
    `interface` | `OnEvent` Marks a method as a handler for a client side event.
    `interface` | `PageActivationContext` Annotation for a field for which the page activation context handlers (onActivate and onPassivate) should be created.
    `interface` | `PageAttached` Method annotation used for methods that should be invoked when the page is first attached to a request.
    `interface` | `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.
    `interface` | `PageLoaded` Method annotation used for methods that should be invoked once the page is fully loaded.
    `interface` | `PageReset` Marker annotation for a method that should be invoked when a page is reset.
    `interface` | `Parameter` Annotation placed on a field to indicate that it is, in fact, a component parameter.
    `interface` | `Path` Used in conjunction with the `Inject` annotation to inject an `Asset` based on a path.
    `interface` | `Persist` Identifies a field as persistent, meaning its value persists from one request to the next.
    `interface` | `Property` Annotation for fields for which accessor methods (getters and setters) should be created.
    `interface` | `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.
    `interface` | `RequestParameter` Annotation that may be placed on parameters of event handler methods.
    `interface` | `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)
    `interface` | `Secure` A marker annotation that indicates that the page in question may only be accessed via HTTPS.
    `interface` | `Service` Used in conjunction with the `Inject` annotation to identify a service by name and not by type.
    `interface` | `SessionAttribute` Used to map a property of a page or component to value stored in session.
    `interface` | `SessionState` Marker annotation for a property that is a session state object (SSO) as controlled by the `ApplicationStateManager`.
    `interface` | `SetupRender` Marker annotation for methods that should be executed during the SetupRender phase.
    `interface` | `SupportsInformalParameters` Used to identify a component that can support informal parameters.
    `interface` | `UnknownActivationContextCheck` A marker annotation that indicates that the page in question may only be accessed with a exact activation context.
    `interface` | `WhitelistAccessOnly` Identifies a page that should only be accessed from clients on the whitelist.

  - ### Uses of UseWith in org.apache.tapestry5.beaneditor

    Classes in org.apache.tapestry5.beaneditor with annotations of type UseWith
    Modifier and Type | Class and Description
    --- | ---
    `interface` | `DataType` Used to explicitly set the data type used to select an editor (or display) block.
    `interface` | `NonVisual` Marker annotation for properties which are non-visual, and so should not appear (by default) inside a `BeanModel`.
    `interface` | `ReorderProperties` An annotation that may be placed on a JavaBean to re-order the properties.
    `interface` | `Sortable` Used to explicitly define whether a property should be considerable sortable or not.
    `interface` | `Translate` Used to attach the name of a Translator used to convert the associated property between server-side and client-side representations.
    `interface` | `Validate` Used to attach validation constraints directly to a property (either the getter or the setter method).
    `interface` | `Width` Defines the desired width of the field used to edit the property.

  - ### Uses of UseWith in org.apache.tapestry5.clojure

    Classes in org.apache.tapestry5.clojure with annotations of type UseWith
    Modifier and Type | Class and Description
    --- | ---
    `interface` | `FunctionName` Overrides the default mapping from method name to Clojure function name.
    `interface` | `Namespace` Maps a service interface to a Clojure namespace.

  - ### Uses of UseWith in org.apache.tapestry5.hibernate.annotations

    Classes in org.apache.tapestry5.hibernate.annotations with annotations of type UseWith
    Modifier and Type | Class and Description
    --- | ---
    `interface` | `CommitAfter` Marks a method of a service (or a component method) as transactional: the active transaction should commit after invoking the method.

  - ### Uses of UseWith in org.apache.tapestry5.ioc.annotations

    Classes in org.apache.tapestry5.ioc.annotations with annotations of type UseWith
    Modifier and Type | Class and Description
    --- | ---
    `interface` | `Autobuild` Directs that the value to be built should be an autobuild instance of the type with injections performed, via `ObjectLocator.autobuild(Class)`.
    `interface` | `Description` Annotation used by Tapestry to describe the annotated class or package in runtime, specially in the T5Dashboard page.
    `interface` | `EagerLoad` Marker annotation placed on a service builder method to indicate that the service should be eagerly loaded: realized as if a service method had been invoked.
    `interface` | `ImportModule` Attached to a module class, this annotation identifies other module classes that should also be added to the Registry.
    `interface` | `Inject` This annotation serves is something of the Swiss Army knife for operations related to injection of dependencies into an arbitrary method of Java Bean.
    `interface` | `InjectResource` Deprecated. Deprecated in Tapestry 5.3, to be removed in a later release. Use `Inject` instead.
    `interface` | `InjectService` Annotation used with parameters of service builder methods to identify the service to be injected into the service builder method via the parameter.
    `interface` | `IntermediateType` Used to guide Tapestry when coercing from a raw type to a field or parameter type, by forcing Tapestry to coerce to the intermediate type.
    `interface` | `Local` A special marker annotation which limits the search for possible services to just the same module containing the service being injected.
    `interface` | `Marker` Used to define one or more marker annotations for a service implementation.
    `interface` | `Match` Optional, but typically used, annotation for service decorator methods, used to define which services the decorator applies to.
    `interface` | `NotLazy` Marks a method as specifically not-lazy, even if other methods in the same interface are being advised as lazy.
    `interface` | `Operation` Describes a method as one that should be operation tracked.
    `interface` | `Optional` Marks a service contribution method within a module as being optional: it is not an error if the contribution does not match against an actual service.
    `interface` | `Order` Used with a service decorator method to control the order in which decorations occur.
    `interface` | `PostInjection` Annotation for methods that should be invoked after injection.
    `interface` | `PreventServiceDecoration` Marks a service as not eligible for decoration.
    `interface` | `Primary` Marker annotation used to denote a service that is the primary instance of some common interface.
    `interface` | `Scope` An optional annotation that may be placed on a service building method of a module, or on the implementation class (when using service binding).
    `interface` | `ServiceId` An optional annotation that may be placed on a service building method of a module, or on the implementation class (when using service binding via the `ServiceBinder`).
    `interface` | `SubModule` Deprecated. Deprecated in 5.4, use `ImportModule` instead.
    `interface` | `Symbol` Used to inject a symbol value, via a symbol name.
    `interface` | `UsesConfiguration` A documentation-only interface placed on service interfaces for services which have an unordered configuration, to identify the type of contribution.
    `interface` | `UsesMappedConfiguration` A documentation-only interface placed on service interfaces for services which have a mapped configuration, to identify the type of key (often, a String), and type of contribution.
    `interface` | `UsesOrderedConfiguration` A documentation-only interface placed on service interfaces for services which have an ordered configuration, to identify the type of contribution.
    `interface` | `Value` Used in conjunction with `Inject` to inject a literal value, rather than a service.

  - ### Uses of UseWith in org.apache.tapestry5.jpa.annotations

    Classes in org.apache.tapestry5.jpa.annotations with annotations of type UseWith
    Modifier and Type | Class and Description
    --- | ---
    `interface` | `CommitAfter`

  - ### Uses of UseWith in org.apache.tapestry5.kaptcha.annotations

    Classes in org.apache.tapestry5.kaptcha.annotations with annotations of type UseWith
    Modifier and Type | Class and Description
    --- | ---
    `interface` | `Kaptcha` Used to explicitly select the kaptcha editor block for a property.

  - ### Uses of UseWith in org.apache.tapestry5.services

    Classes in org.apache.tapestry5.services with annotations of type UseWith
    Modifier and Type | Class and Description
    --- | ---
    `interface` | `AssetRequestDispatcher` Marker annotation used to specifically identify the `Dispatcher` used to dispatch asset requests (so that `AssetRequestHandler`s can be contributed).

5.6.4 - Copyright © 2003-2021 The Apache Software Foundation.