autowire.context package¶
Submodules¶
autowire.context.provider module¶
context.provider¶
Interface for providing resource’s implementations.
-
class
autowire.context.provider.ImplementationConsumer[source]¶ Bases:
objectDeclarative base type for objects that can bind resources with implementation.
-
class
autowire.context.provider.Provider(resource: autowire.base.BaseResource, consumer: autowire.context.provider.ImplementationConsumer)[source]¶ Bases:
autowire.impl.implementable.ImplementableType that can provide implementation to specific resource.
autowire.context.root module¶
Module contents¶
autowire.context.impl¶
Context’s implementations
-
class
autowire.context.Context(parent: autowire.base.BaseContext = <autowire.context.root._RootContext object>)[source]¶ Bases:
autowire.base.BaseContext,autowire.context.provider.ImplementationConsumerContext implementation.
-
get_implementation(resource: autowire.base.BaseResource)[source]¶ Get resource implementation from this context.
-
provide(resource: autowire.base.BaseResource, implementation: autowire.base.Implementation = None)[source]¶ Provide an implementaion for resource in this context.
context.provide(resource, implementation)
Or as a decorator
@context.provide(resource) @impl.autowired('dependency1', dependency1) @impl.autowired('dependency2', dependency2) @impl.contextmanager def create_resource(dependency1, dependency2): yield dependency1.make_resource(dependency2)
-