# Package org.apache.tapestry5.ioc.internal

[INTERNAL USE ONLY] Tapestry IOC implementation details; API subject to change.

- Interface Summary
  Interface | Description
  --- | ---
  EagerLoadServiceProxy | Interface implemented by all service proxies.
  InternalRegistry | Internal view of the module registry, adding additional methods needed by modules.
  Module | A module within the Tapestry IoC registry.
  ObjectCreatorSource | An object which can, when passed a `ServiceBuilderResources`, create a corresponding `ObjectCreator`.
  ServiceActivityTracker | Used to update the status of services defined by the `ServiceActivityScoreboard`.
  ServiceDefAccumulator | Simple interface used when invoking a bind() method on a module class.
  ServiceProxyProvider | Used in concert with `SerializationSupport` to convert service tokens back into service proxies.
  TypeCoercerProxy | A simplified version of `TypeCoercer` used to defer the instantiation of the actual TypeCoercer service until necessary.

- Class Summary
  Class | Description
  --- | ---
  AbstractConfigurationImpl<T> |
  AbstractMethodInvokingInstrumenter | Base class for service decorators and service advisors that work by invoking a module method.
  AbstractReloadableObjectCreator |
  AbstractServiceCreator | Abstract implementation of `ObjectCreator` geared towards the creation of the core service implementation, either by invoking a service builder method on a module, or by invoking a constructor.
  AbstractServiceInstrumenter | Abstract base class for implementations of `ServiceDecorator` (i.e., old school) and `ServiceAdvisor` (i.e., new school).
  AdvisorDefImpl |
  AdvisorStackBuilder | Equivalent of `InterceptorStackBuilder`, but works using an `AspectInterceptorBuilder` that receives advice from `ServiceAdvisor`s.
  AnnotationAccessImpl | Standard AnnotationAccess for a specific type.
  ConstructorServiceCreator | A service creator based on an implementation class' constructor, rather than a service builder method.
  ContributionDefImpl |
  DecoratorDefImpl |
  DefaultModuleDefImpl | Starting from the Class for a module, identifies all the services (service builder methods), decorators (service decorator methods) and (not yet implemented) contributions (service contributor methods).
  GlobPatternMatcher | Used when matching identifiers.
  IdMatcherImpl | A wrapper around a `GlobPatternMatcher` used to glob-match service ids.
  InterceptorStackBuilder | Responsible for constructing the interceptor stack, on demand, by invoking an ordered series of decorators ( `DecoratorDef` (which are converted into `ServiceDecorator`s).
  LifecycleWrappedServiceCreator | Wrapper around a lifecycle, a set of resources for a service, and an underlying `ObjectCreator` for a service that allows the service lifecycle to alter the way that the service is created (this is needed for the more advanced, non-singleton types of service lifecycles).
  LoggerSourceImpl | Simple wrapper around SLF4J's LoggerFactory.
  MappedConfigurationOverride<K,​V> |
  ModuleImpl |
  ObjectLocatorImpl | Base service locator class used when only the module is known (i.e., when instantiating a module class).
  OperationTrackerImpl | Core implementation that manages a logger and catches and reports exception.
  OperationTrackingObjectCreator | Makes sure the operations tracker is notified knows that a service is being realized.
  OrIdMatcher | A wrapper around a collection of IdMatchers.
  PerThreadOperationTracker | Manages a per-thread OperationTracker using a ThreadLocal.
  QuietOperationTracker | Minimal implementation used for testing, that does no logging, tracking, or exception catching.
  RecursiveServiceCreationCheckWrapper | Decorator for `ObjectCreator` that ensures the service is only created once.
  RegistryImpl |
  RegistryWrapper | A wrapper around `InternalRegistry` that exists to expand symbols in a service id before invoking `ObjectLocator.getService(String, Class)`.
  ReloadableObjectCreator | Reloadable object creator for non-service objects.
  ReloadableObjectCreatorSource | Responsible for creating a `ReloadableServiceImplementationObjectCreator` for a service implementation.
  ReloadableServiceImplementationObjectCreator | Returns an `ObjectCreator` for lazily instantiating a given implementation class (with dependencies).
  ServiceActivityTrackerImpl |
  ServiceActivityTrackerImpl.MutableServiceActivity |
  ServiceAdvisorImpl |
  ServiceBinderImpl |
  ServiceBuilderMethodInvoker | Basic implementation of `ObjectCreator` that handles invoking a method on the module builder, and figures out the correct parameters to pass into the annotated method.
  ServiceDecoratorImpl | A wrapper around a decorator method.
  ServiceDefImpl |
  ServiceProxyToken | Token that replaces a service proxy when the proxy is serialized.
  ServiceResourcesImpl | Implementation of `ServiceBuilderResources`.
  SingletonServiceLifecycle | The basic implementation of a service lifecycle, which simply uses the `ObjectCreator` to create an instance of the service when asked.
  StartupDefImpl |
  TypeCoercerProxyImpl | A proxy for the `TypeCoercer`
  ValidatingConfigurationWrapper<T> | Wraps a `Collection` as a `Configuration` and perform validation that collected value are of the correct type.
  ValidatingMappedConfigurationWrapper<K,​V> | A wrapper around a Map that provides the `MappedConfiguration` interface, and provides two forms of validation for mapped configurations: If either key or value is null, then a warning is logged If the key has previously been stored (by some other `ContributionDef`, then a warning is logged When a warning is logged, the key/value pair is not added to the delegate.
  ValidatingOrderedConfigurationWrapper<T> | Wraps a `List` as a `OrderedConfiguration`, implementing validation of values provided to an `OrderedConfiguration`.

- Enum Summary
  Enum | Description
  --- | ---
  ConfigurationType | Defines the three types of configurations a service may request.

- Exception Summary
  Exception | Description
  --- | ---
  OperationException | An exception caught and reported by an `OperationTracker`; the trace property identifies what operations were active at the time of the exception.