Skip to content

Commit 3738409

Browse files
committed
Renamed "TransformerContainer" to "TransformerManager"
1 parent d4abd99 commit 3738409

File tree

1 file changed

+33
-19
lines changed

1 file changed

+33
-19
lines changed

src/Service/TransformerContainer.php renamed to src/Core/Container/TransformerManager.php

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,37 @@
11
<?php
22
/** @noinspection PhpPropertyOnlyWrittenInspection */
3-
namespace Okapi\CodeTransformer\Service;
3+
namespace Okapi\CodeTransformer\Core\Container;
44

55
use Error;
66
use Exception;
7-
use Okapi\CodeTransformer\Exception\Transformer\InvalidTransformerClassException;
8-
use Okapi\CodeTransformer\Exception\Transformer\TransformerNotFoundException;
7+
use Okapi\CodeTransformer\Core\DI;
8+
use Okapi\CodeTransformer\Core\Exception\Transformer\InvalidTransformerClassException;
9+
use Okapi\CodeTransformer\Core\Exception\Transformer\TransformerNotFoundException;
10+
use Okapi\CodeTransformer\Core\ServiceInterface;
911
use Okapi\CodeTransformer\Transformer;
1012

1113
/**
12-
* # Transformer Container
14+
* # Transformer Manager
1315
*
14-
* The `TransformerContainer` class is used to manage the transformers.
16+
* This class is used to register and manage the transformers.
17+
* @todo Don't repeat class name in docs
1518
*/
16-
class TransformerContainer implements ServiceInterface
19+
class TransformerManager implements ServiceInterface
1720
{
1821
/**
19-
* The list of transformers.
22+
* The list of transformer class strings.
2023
*
2124
* @var class-string<Transformer>[]
25+
* @todo CHECK if all class-string have a type
2226
*/
2327
private array $transformers = [];
2428

2529
/**
26-
* Associative array of transformer instances by target class name.
30+
* The list of transformer containers.
2731
*
28-
* @var array<string, Transformer[]> The key is a wildcard target class name.
32+
* @var TransformerContainer[]
2933
*/
30-
private array $transformerTargets = [];
34+
private array $transformerContainers = [];
3135

3236
// region Pre-Initialization
3337

@@ -82,24 +86,34 @@ private function loadTransformers(): void
8286
}
8387
assert($transformerInstance instanceof Transformer);
8488

85-
/** @var string[] $targets */
86-
$targets = (array)$transformerInstance->getTargetClass();
89+
// Create transformer container
90+
$transformerContainer = DI::make(TransformerContainer::class, [
91+
'transformerInstance' => $transformerInstance,
92+
]);
8793

88-
foreach ($targets as $classRegex) {
89-
$this->transformerTargets[$classRegex][] = $transformerInstance;
90-
}
94+
$this->transformerContainers[] = $transformerContainer;
9195
}
9296
}
9397

9498
// endregion
9599

96100
/**
97-
* Get the transformer targets.
101+
* Get the transformers.
102+
*
103+
* @return class-string<Transformer>[]
104+
*/
105+
public function getTransformers(): array
106+
{
107+
return $this->transformers;
108+
}
109+
110+
/**
111+
* Get the transformer containers.
98112
*
99-
* @return array<string, Transformer[]> The key is a wildcard target class name.
113+
* @return TransformerContainer[]
100114
*/
101-
public function getTransformerTargets(): array
115+
public function getTransformerContainers(): array
102116
{
103-
return $this->transformerTargets;
117+
return $this->transformerContainers;
104118
}
105119
}

0 commit comments

Comments
 (0)