podafIoc

A powerful 'Inversion Of Control' (IOC) framework

Mixins

DependencyProvider

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

DependencyProviderSource

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

PipelineBuilder

@Inject - 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

@Inject - The registry of IoC services.

RegistryOptions

@Inject - Holds the options passed into RegistryBuilder.build().

RegistryShutdownHub

@Inject - Event hub for notifications when the Registry shuts down.

RegistryStartup

@Inject - 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

@Inject -Override a defined service with your own implementation.

ServiceStats

@Inject - Returns a map of all services defined by this IoC.

ThreadStashManager

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

Classes

ConcurrentCache

A map that shares its state across threads providing fast reads and synchronised writes.

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.