podafIoc

A powerful 'Inversion Of Control' (IOC) framework

Mixins

DependencyProvider

Extend the capabilities of IoC by providing your own dependency resolution.

DependencyProviderSource

Contribute DependencyProviders to provide your own dependencies for fields annotated with the @Inject facet.

PipelineBuilder

In this pattern, also know as a filter chain, a service endpoint (known as the terminator) is at the end of a pipeline of filters.

Registry

The registry of IoC services.

RegistryShutdownHub

Event hub for notifications when the Registry shuts down.

RegistryStartup

Executes a series of (user defined) operations when the Registry starts up.

ServiceBinder

Allows a module to bind service facets to implementations.

ServiceBindingOptions

Lets you specify additional options for a service, overriding defaults.

ServiceIds

A list of public service IDs as defined by IoC

ServiceOverride

Override a defined service with your own implementation.

ServiceStats

Returns a map of all services defined by this IoC.

ThreadStashManager

Creates and keeps tabs on ThreadStashs so they may be cleaned up, say, at the end of a web request.

Classes

ConcurrentState

A helper class used to store, access and retrieve mutable state within a const class.

IocHelper

Little methods to help ease your IoC development.

IocService

Wraps an afIoc Registry instance as Fantom service.

MappedConfig

Passed into module contribution methods to allow the method to, err, contribute!

MethodAdvisor

Passed into module advisor methods to allow the method to, err, advise services!

MethodInvocation

As used by aspects to call the method they wrap.

OrderedConfig

Passed into module contribution methods to allow the method to, err, contribute!

ProviderCtx

As given to DependencyProviders.

RegistryBuilder

Builds a Registry from Modules.

ServiceStat

Defines some statistics for a service

StrategyRegistry

A map of Types to Objs that can be looked up via an inheritance search.

ThreadStash

A wrapper around Actor.locals ensuring a unique namespace per instance.

TypeCoercer

Coerces an Obj to a given type via Fantom's fromXXX() / toXXX() ctors and methods.

Enums

ServiceLifecycle

Defines the lifecycle state of a service

ServiceScope

Scope definitions for Services.

Facets

Advise

Use in a module class to denote a service advisor method.

Autobuild

An optional facet to use in conjunction with @Inject.

Build

Use in a module class to denote a service builder method.

Contribute

Use in a module class to denote a service contribution method.

Inject

Swiss Army Knife

PostInjection

Marks a service method to be called after ctor and field injection.

ServiceId

An optional facet to use in conjunction with @Inject to specify a service to inject.

SubModule

Place on module classes to define other modules to be loaded.

Errs

IocErr

As thrown by IoC

NotFoundErr

A generic helper Err thrown when a value is not found in an expected list of values.

WtfErr

Thrown when an impossible condition occurs.