cpl.dependency_injection¶
cpl.dependency_injection.service_collection¶
- 
class cpl.dependency_injection.service_collection.ServiceCollection(config: cpl.configuration.configuration_abc.ConfigurationABC)¶
- Bases: - cpl.dependency_injection.service_collection_abc.ServiceCollectionABC- Representation of the collection of services - 
add_db_context(db_context_type: Type[cpl.database.context.database_context_abc.DatabaseContextABC], db_settings: cpl.database.database_settings.DatabaseSettings)¶
- Adds database context - db_context: Type[cpl.database.context.database_context_abc.DatabaseContextABC]
- Database context 
- db_settings: cpl.database.database_settings.DatabaseSettings
- Database settings 
 
- db_context: Type[
 - 
add_logging()¶
- Adds the CPL internal logger 
 - 
add_scoped(service_type: Type, service: Optional[Callable] = None)¶
- Adds a service with scoped lifetime - service_type: Type
- Type of the service 
- service: Callable
- Object of the service 
 
- service_type: 
 - 
add_singleton(service_type: Union[type, object], service: Optional[Union[type, object]] = None)¶
- Adds a service with singleton lifetime - service_type: Type
- Type of the service 
- service: Callable
- Object of the service 
 
- service_type: 
 - 
add_transient(service_type: type, service: Optional[type] = None)¶
- Adds a service with transient lifetime - service_type: Type
- Type of the service 
- service: Callable
- Object of the service 
 
- service_type: 
 - 
build_service_provider() → cpl.dependency_injection.service_provider_abc.ServiceProviderABC¶
- Creates instance of the service provider 
 
- 
cpl.dependency_injection.service_collection_abc¶
- 
class cpl.dependency_injection.service_collection_abc.ServiceCollectionABC¶
- Bases: - abc.ABC- ABC for the class - cpl.dependency_injection.service_collection.ServiceCollection- 
abstract add_db_context(db_context: Type[cpl.database.context.database_context_abc.DatabaseContextABC], db_settings: cpl.database.database_settings.DatabaseSettings)¶
- Adds database context - db_context: Type[cpl.database.context.database_context_abc.DatabaseContextABC]
- Database context 
- db_settings: cpl.database.database_settings.DatabaseSettings
- Database settings 
 
- db_context: Type[
 - 
abstract add_logging()¶
- Adds the CPL internal logger 
 - 
abstract add_scoped(service_type: Type, service: Optional[collections.abc.Callable] = None)¶
- Adds a service with scoped lifetime - service_type: Type
- Type of the service 
- service: Callable
- Object of the service 
 
- service_type: 
 - 
abstract add_singleton(service_type: Type, service: Optional[collections.abc.Callable] = None)¶
- Adds a service with singleton lifetime - service_type: Type
- Type of the service 
- service: Callable
- Object of the service 
 
- service_type: 
 - 
abstract add_transient(service_type: Type, service: Optional[collections.abc.Callable] = None)¶
- Adds a service with transient lifetime - service_type: Type
- Type of the service 
- service: Callable
- Object of the service 
 
- service_type: 
 - 
abstract build_service_provider() → cpl.dependency_injection.service_provider_abc.ServiceProviderABC¶
- Creates instance of the service provider 
 
- 
abstract 
cpl.dependency_injection.service_descriptor¶
- 
class cpl.dependency_injection.service_descriptor.ServiceDescriptor(implementation: Optional[Union[type, object]], lifetime: cpl.dependency_injection.service_lifetime_enum.ServiceLifetimeEnum)¶
- Bases: - object- Descriptor of a service - implementation: Union[type, Optional[object]]
- Object or type of service 
- lifetime: cpl.dependency_injection.service_lifetime_enum.ServiceLifetimeEnum
- Lifetime of the service 
 - 
property implementation¶
 - 
property lifetime¶
 - 
property service_type¶
 
- implementation: Union[
cpl.dependency_injection.service_lifetime_enum¶
cpl.dependency_injection.service_provider¶
- 
class cpl.dependency_injection.service_provider.ServiceProvider(service_descriptors: list, config: cpl.configuration.configuration_abc.ConfigurationABC, db_context: Optional[cpl.database.context.database_context_abc.DatabaseContextABC])¶
- Bases: - cpl.dependency_injection.service_provider_abc.ServiceProviderABC- Provider for the services - service_descriptors: list[cpl.dependency_injection.service_descriptor.ServiceDescriptor]
- Descriptor of the service 
- config: cpl.configuration.configuration_abc.ConfigurationABC
- CPL Configuration 
- db_context: Optional[cpl.database.context.database_context_abc.DatabaseContextABC]
- Database representation 
 - 
build_service(service_type: type) → object¶
- Creates instance of given type - instance_type: Type
- The type of the searched instance 
 - Object of the given type 
- instance_type: 
 - 
get_service(service_type: type) → Optional[collections.abc.Callable[object]]¶
- Returns instance of given type - instance_type: Type
- The type of the searched instance 
 - Object of type Optional[Callable[ - object]]
- instance_type: 
 
- service_descriptors: list[
cpl.dependency_injection.service_provider_abc¶
- 
class cpl.dependency_injection.service_provider_abc.ServiceProviderABC¶
- Bases: - abc.ABC- ABC for the class - cpl.dependency_injection.service_provider.ServiceProvider- 
abstract build_service(service_type: Type) → object¶
- Creates instance of given type - instance_type: Type
- The type of the searched instance 
 - Object of the given type 
- instance_type: 
 - 
abstract get_service(instance_type: Type) → Optional[collections.abc.Callable[object]]¶
- Returns instance of given type - instance_type: Type
- The type of the searched instance 
 - Object of type Optional[Callable[ - object]]
- instance_type: 
 
- 
abstract