File size: 939 Bytes
6628fd9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from core.lifecycle import Lifecycle


class LifecycleHelper:
    @classmethod
    def initialize_if_possible(cls, ls: Lifecycle) -> None:
        if isinstance(ls, Lifecycle) and ls.lifecycle_state.can_initialize(
            ls.lifecycle_state.phase
        ):
            ls.initialize()

    @classmethod
    def start_if_possible(cls, ls: Lifecycle) -> None:
        if isinstance(ls, Lifecycle) and ls.lifecycle_state.can_start(
            ls.lifecycle_state.phase
        ):
            ls.start()

    @classmethod
    def stop_if_possible(cls, ls: Lifecycle) -> None:
        if isinstance(ls, Lifecycle) and ls.lifecycle_state.can_stop(
            ls.lifecycle_state.phase
        ):
            ls.stop()

    @classmethod
    def dispose_if_possible(cls, ls: Lifecycle) -> None:
        if isinstance(ls, Lifecycle) and ls.lifecycle_state.can_dispose(
            ls.lifecycle_state.phase
        ):
            ls.dispose()