sh_cpl/src/cpl/application/application_host_abc.py

38 lines
943 B
Python

from abc import ABC, abstractmethod
from collections import Callable
from cpl.application.application_runtime_abc import ApplicationRuntimeABC
from cpl.configuration.configuration_abc import ConfigurationABC
from cpl.dependency_injection.service_provider_abc import ServiceProviderABC
class ApplicationHostABC(ABC):
@abstractmethod
def __init__(self):
"""
ABC for application host
"""
pass
@property
@abstractmethod
def configuration(self) -> ConfigurationABC: pass
@property
@abstractmethod
def application_runtime(self) -> ApplicationRuntimeABC: pass
@property
@abstractmethod
def services(self) -> ServiceProviderABC: pass
@abstractmethod
def console_argument_error_function(self, function: Callable):
"""
Defines function to call when a argument error is detected
:param function:
:return:
"""
pass