API: jadi

class jadi.Context(parent=None)[source]

An IoC container for interface() s, service() s and component() s

Parameters:

parent (Context) – a parent context

get_component(cls)[source]
get_components(cls, ignore_exceptions=False)[source]
get_service(cls)[source]
exception jadi.NoImplementationError(cls)[source]
jadi.component(iface)[source]

Marks the decorated class as a component implementing the given iface

Parameters:

iface (interface()) – the interface to implement

jadi.get_fqdn(cls)[source]

Returns a fully-qualified name for the given class

jadi.interface(cls)[source]

Marks the decorated class as an abstract interface.

Injects following classmethods:

.all(context)

Returns a list of instances of each component in the context implementing this @interface

Parameters:

context (Context) – context to look in

Returns:

list(cls)

.any(context)

Returns the first suitable instance implementing this @interface or raises NoImplementationError if none is available.

Parameters:

context (Context) – context to look in

Returns:

cls

.classes()

Returns a list of classes implementing this @interface

Returns:

list(class)

jadi.service(cls)[source]

Marks the decorated class as a singleton service.

Injects following classmethods:

.get(context)

Returns a singleton instance of the class for given context

Parameters:

context (Context) – context to look in

Returns:

cls


Comments

comments powered by Disqus