35 lines
899 B
Python
35 lines
899 B
Python
from abc import ABC, abstractmethod
|
|
from typing import Type
|
|
|
|
from cpl.application.application_abc import ApplicationABC
|
|
from cpl.application.startup_abc import StartupABC
|
|
|
|
|
|
class ApplicationBuilderABC(ABC):
|
|
r"""ABC for the :class:`cpl.application.application_builder.ApplicationBuilder`"""
|
|
|
|
@abstractmethod
|
|
def __init__(self, *args):
|
|
pass
|
|
|
|
@abstractmethod
|
|
def use_startup(self, startup: Type[StartupABC]):
|
|
r"""Sets the custom startup class to use
|
|
|
|
Parameter
|
|
---------
|
|
startup: Type[:class:`cpl.application.startup_abc.StartupABC`]
|
|
Startup class to use
|
|
"""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def build(self) -> ApplicationABC:
|
|
r"""Creates custom application object
|
|
|
|
Returns
|
|
-------
|
|
Object of :class:`cpl.application.application_abc.ApplicationABC`
|
|
"""
|
|
pass
|