# Package org.apache.tapestry5.ioc.services

Tapestry IOC service interfaces

- Interface Summary
  Interface | Description
  --- | ---
  AspectDecorator | A decorator used to create an interceptor that delegates each method's invocation to an `MethodAdvice` for advice.
  AspectInterceptorBuilder<T> | A builder may be obtained from the `AspectDecorator` and allows more controlled creation of the created interceptor; it allows different methods to be given different advice, and allows methods to be omitted (in which case the method invocation passes through without advice).
  ChainBuilder | A service which can assemble an implementation based on a command interface, and an ordered list of objects implementing that interface (the "commands").
  ClassNameLocator | Scans the classpath for top-level classes within particular packages.
  ClasspathMatcher | Used to determine which files will be included in the set of matches paths within a particular package.
  ClasspathScanner | Used to scan a portion of the classpath for files that match a particular pattern, defined by a `ClasspathMatcher`.
  ClasspathURLConverter | Used by `ClassNameLocator` to convert URLs from one protocol to another.
  DefaultImplementationBuilder | Creates default implementations of a class.
  ExceptionAnalysis | An analysis of an exception (including nested exceptions).
  ExceptionAnalyzer | Analyzes an exception, providing an analysis.
  ExceptionInfo | Contains information about an analyzed exception.
  ExceptionTracker | Used by `LoggingDecorator` to track which exceptions have been logged during the current request (the ExceptionTracker is perthread).
  LazyAdvisor | An advisor that identifies methods which can be evaluated lazily and advises them.
  LoggingAdvisor | A service used in conjunction with a service advisor method to add logging advice to a service.
  LoggingDecorator | Service that can create a logging interceptor that wraps around a service implementation (or interceptor).
  MasterObjectProvider | A service that acts as a chain-of-command over a number of `ObjectProvider`, but allows for the case where no object may be provided.
  OperationAdvisor | Used from a service advice method to identify methods with the `Operation` annotation, and add advice for those methods.
  ParallelExecutor | A service that allows work to occur in parallel using a thread pool.
  PerthreadManager | Manages per-thread data, and provides a way for listeners to know when such data should be cleaned up.
  PerThreadValue<T> | Provides access to per-thread (and, by extension, per-request) data, managed by the `PerthreadManager`.
  PipelineBuilder | Creates a pipeline from a service interface and an ordered list of filters.
  PropertyShadowBuilder | Creates a "shadow" of a property of an object.
  RegistryShutdownHub | Event hub for notifications when the IOC `Registry` shuts down.
  RegistryShutdownListener | Deprecated. In Tapestry 5.3, to be removed in a later release.
  ServiceActivity | Provided by the `ServiceActivityScoreboard` to track a single service's state and activity.
  ServiceActivityScoreboard | Provides access to the runtime details about services in the `Registry`.
  ServiceConfigurationListener | Interface that defines listeners to services getting their distributed configuration.
  ServiceLifecycleSource | Provides access to user defined lifecycles (beyond the two built-in lifecycles: "singleton" and "primitive").
  ServiceOverride | Used to override built in services.
  StrategyBuilder | A service implementation builder that operates around a `StrategyRegistry`, implementing a version of the Gang of Four Strategy pattern.
  SymbolProvider | A provider of values for symbols, used by the `SymbolSource` service.
  SymbolSource | Used to manage symbols, configuration properties whose value is evaluated at runtime.
  ThreadCleanupListener | Deprecated. Deprecated in 5.4, use `PerthreadManager.addThreadCleanupCallback(Runnable)` instead.
  ThreadLocale | Stores the locale for the current thread.
  ThunkCreator | A thunk is a delayed calculation.
  UpdateListener | Interface for objects which can periodically check for updates.
  UpdateListenerHub | Manages a set of `UpdateListener`s.

- Class Summary
  Class | Description
  --- | ---
  ServiceConfigurationListenerHub | Service that collects the `ServiceConfigurationListener`s.

- Enum Summary
  Enum | Description
  --- | ---
  Status | Used in `ServiceActivity` to identify the state of the service in terms of its overall lifecycle.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  ApplicationDefaults | Used to disambiguate which version of `SymbolProvider` is being referenced.
  Builtin | Marks services provided by this module that may need to be unambiguously referenced.
  FactoryDefaults | Used to disambiguate which version of `SymbolProvider` is being referenced.