so_magic.utils.command_factory_interface   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 7
dl 0
loc 19
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A CommandFactoryInterface.construct() 0 8 1
1
"""This module is responsible to define an interface to construct Command objects (instances of the Command class)."""
2
from abc import ABC, abstractmethod
3
from .command_interface import CommandInterface
4
5
6
class CommandFactoryInterface(ABC):
7
    """Define a way to create objects of type Command.
8
9
    Classes implementing this interface define a way to construct (initialize) new Command objects (class instances).
10
    """
11
    @abstractmethod
12
    def construct(self, *args, **kwargs) -> CommandInterface:
13
        """Construct a new Command object (new class instance) that can be executed.
14
15
        Returns:
16
            Command: the command object (instance)
17
        """
18
        raise NotImplementedError
19