from core.lifecycle import Lifecycle class LifecycleHelper: @classmethod def initialize_if_possible(cls, ls: Lifecycle) -> None: if isinstance(ls, Lifecycle) and ls.get_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.get_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.get_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.get_lifecycle_state().can_dispose(ls.lifecycle_state.phase): ls.dispose()