cpl_core.dependency_injection
cpl_core.dependency_injection.service_collection
- class cpl_core.dependency_injection.service_collection.ServiceCollection(config: cpl_core.configuration.configuration_abc.ConfigurationABC)
Bases:
cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC
Representation of the collection of services
- add_db_context(db_context_type: Type[cpl_core.database.context.database_context_abc.DatabaseContextABC], db_settings: cpl_core.database.database_settings.DatabaseSettings)
Adds database context
- db_context: Type[
cpl_core.database.context.database_context_abc.DatabaseContextABC
] Database context
- db_settings:
cpl_core.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_core.dependency_injection.service_provider_abc.ServiceProviderABC
Creates instance of the service provider
cpl_core.dependency_injection.service_collection_abc
- class cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC
Bases:
abc.ABC
ABC for the class
cpl_core.dependency_injection.service_collection.ServiceCollection
- abstract add_db_context(db_context: Type[cpl_core.database.context.database_context_abc.DatabaseContextABC], db_settings: cpl_core.database.database_settings.DatabaseSettings)
Adds database context
- db_context: Type[
cpl_core.database.context.database_context_abc.DatabaseContextABC
] Database context
- db_settings:
cpl_core.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_core.dependency_injection.service_provider_abc.ServiceProviderABC
Creates instance of the service provider
cpl_core.dependency_injection.service_descriptor
- class cpl_core.dependency_injection.service_descriptor.ServiceDescriptor(implementation: Optional[Union[type, object]], lifetime: cpl_core.dependency_injection.service_lifetime_enum.ServiceLifetimeEnum)
Bases:
object
Descriptor of a service
- implementation: Union[
type
, Optional[object
]] Object or type of service
- lifetime:
cpl_core.dependency_injection.service_lifetime_enum.ServiceLifetimeEnum
Lifetime of the service
- property implementation: Optional[Union[type, object]]
- property lifetime: cpl_core.dependency_injection.service_lifetime_enum.ServiceLifetimeEnum
- property service_type: type
- implementation: Union[
cpl_core.dependency_injection.service_lifetime_enum
cpl_core.dependency_injection.service_provider
- class cpl_core.dependency_injection.service_provider.ServiceProvider(service_descriptors: list[cpl_core.dependency_injection.service_descriptor.ServiceDescriptor], config: cpl_core.configuration.configuration_abc.ConfigurationABC, db_context: Optional[cpl_core.database.context.database_context_abc.DatabaseContextABC])
Bases:
cpl_core.dependency_injection.service_provider_abc.ServiceProviderABC
Provider for the services
- service_descriptors: list[
cpl_core.dependency_injection.service_descriptor.ServiceDescriptor
] Descriptor of the service
- config:
cpl_core.configuration.configuration_abc.ConfigurationABC
CPL Configuration
- db_context: Optional[
cpl_core.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_core.dependency_injection.service_provider_abc
- class cpl_core.dependency_injection.service_provider_abc.ServiceProviderABC
Bases:
abc.ABC
ABC for the class
cpl_core.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: