Code Duplication    Length = 30-30 lines in 2 locations

src/Command/Handler/Locator/DirectBindingCommandHandlerLocator.php 1 location

@@ 14-43 (lines=30) @@
11
use GpsLab\Component\Command\Handler\CommandHandler;
12
use GpsLab\Component\Command\Command;
13
14
class DirectBindingCommandHandlerLocator implements CommandHandlerLocator
15
{
16
    /**
17
     * @var CommandHandler[]
18
     */
19
    private $handlers = [];
20
21
    /**
22
     * Bind command handler to concrete command by class name.
23
     *
24
     * @param string         $command_name
25
     * @param CommandHandler $handler
26
     */
27
    public function registerHandler($command_name, CommandHandler $handler)
28
    {
29
        $this->handlers[$command_name] = $handler;
30
    }
31
32
    /**
33
     * @param Command $command
34
     *
35
     * @return CommandHandler|null
36
     */
37
    public function getCommandHandler(Command $command)
38
    {
39
        $command_name = get_class($command);
40
41
        return isset($this->handlers[$command_name]) ? $this->handlers[$command_name] : null;
42
    }
43
}
44

src/Query/Handler/Locator/DirectBindingQueryHandlerLocator.php 1 location

@@ 14-43 (lines=30) @@
11
use GpsLab\Component\Query\Handler\QueryHandler;
12
use GpsLab\Component\Query\Query;
13
14
class DirectBindingQueryHandlerLocator implements QueryHandlerLocator
15
{
16
    /**
17
     * @var QueryHandler[]
18
     */
19
    private $handlers = [];
20
21
    /**
22
     * Bind query handler to concrete query by class name.
23
     *
24
     * @param string       $query_name
25
     * @param QueryHandler $handler
26
     */
27
    public function registerHandler($query_name, QueryHandler $handler)
28
    {
29
        $this->handlers[$query_name] = $handler;
30
    }
31
32
    /**
33
     * @param Query $query
34
     *
35
     * @return QueryHandler|null
36
     */
37
    public function getQueryHandler(Query $query)
38
    {
39
        $query_name = get_class($query);
40
41
        return isset($this->handlers[$query_name]) ? $this->handlers[$query_name] : null;
42
    }
43
}
44