# Package org.apache.tapestry5.ioc

A code-centric, high-performance, simple Inversion of Control container

- Interface Summary
  Interface | Description
  --- | ---
  AdvisorDef | Definition of a service advisor, which (by default) is derived from a service advisor method.
  AdvisorDef2 | Extended version of `AdvisorDef` introduced to determine any module method annotated with `Advise` as an advisor method.
  AnnotationAccess | Introduced for Tapestry 5.3, contains new methods to provide access to annotations on the class, and on methods of the class.
  IdMatcher | A matcher of fully qualified ids.
  Invokable<T> | Similar to `Runnable` except that it returns a value.
  IOOperation<T> | An operation that, when performed, returns a value (like `Invokable`, but may throw an `IOException`.
  LoggerSource | A wrapper around SLF4J's LoggerFactory that exists to allow particular projects to "hook" the creation of Logger instances.
  Markable | Interface implemented by objects which need to disambiguate services with marker annotations.
  MethodAdviceReceiver | Interface used with service advisor methods to define advice.
  ModuleBuilderSource | The source for the module instance needed by any service builders, service contributors and service decorators that are mapped to instance methods.
  OperationTracker | Used to track some set of operations in such a way that a failure (a thrown RuntimeException) will be logged along with a trace of the stack of operations.
  Registry | Public access to the IoC service registry.
  ReloadAware | Optional interface that may be implemented by a service implementation (or even a proxy to give the service implementation more control over its lifecyle.
  ServiceAdvisor | Provided by a `AdvisorDef` to perform the advice (by invoking methods on a `MethodAdviceReceiver`).
  ServiceBinder | Allows a module to bind service interfaces to service implementation classes in support of autobuilding services.
  ServiceBindingOptions | Allows additional options for a service to be specified, overriding hard coded defaults or defaults from annotations on the service.
  ServiceBuilder<T> | A callback used to create a service implementation.
  ServiceBuilderResources | Extends `ServiceResources` with additional methods needed only by the service builder method, related to accessing a service's configuration.
  ServiceDecorator | A service decorator is derived from a `DecoratorDef` and is responsible for building an interceptor around an existing implementation (called the "delegate").
  ServiceLifecycle | Allows certain types of lifecycles to control exactly how services are instantiated.
  ServiceLifecycle2 | Extension to `ServiceLifecycle` that adds an additional method.
  ServiceResources | Contains resources that may be provided to a service when it initializes, which includes other services defined in the registry.

- Class Summary
  Class | Description
  --- | ---
  BaseLocatable | Base implementation of `Locatable`.
  IOCConstants |
  IOCSymbols | Configuration symbols used by the IoC container.
  IOCUtilities | A collection of utility methods for a couple of different areas, including creating the initial `Registry`.
  Orderable<T> | A wrapper that allows objects of a target type to be ordered.
  OrderConstraint | Represents an order constraints for `OrderedConfiguration`.
  OrderConstraintBuilder | Constructs order constraints for `OrderedConfiguration`.
  RegistryBuilder | Used to construct the IoC `Registry`.
  ScopeConstants | Defines constants for built-in scopes (used with the `Scope` annotation.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  OperationTracker.NonLoggableException | Annotation to be be used in exception classes whose instances are not meant to be logged in OperationTracker.