ChunkTaxonomyMapping.php
- Pfad:
src/Domain/Entity/ChunkTaxonomyMapping.php - Namespace: Domain\Entity
- Zeilen: 147 | Größe: 3,358 Bytes
- Geändert: 2025-12-25 20:06:13 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 95
- Dependencies: 100 (25%)
- LOC: 76 (20%)
- Methods: 100 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Keine Issues gefunden.
Dependencies 2
- use Domain\ValueObject\Confidence
- use Domain\ValueObject\MappingSource
Klassen 1
-
ChunkTaxonomyMappingclass Zeile 12
Funktionen 16
-
__construct()public Zeile 21 -
getId()public Zeile 29 -
getChunkId()public Zeile 34 -
getTaxonomyTermId()public Zeile 39 -
getConfidence()public Zeile 44 -
getSource()public Zeile 49 -
getCreatedAt()public Zeile 54 -
setId()public Zeile 60 -
setChunkId()public Zeile 67 -
setTaxonomyTermId()public Zeile 74 -
setConfidence()public Zeile 81 -
setConfidenceFromFloat()public Zeile 88 -
setSource()public Zeile 95 -
setCreatedAt()public Zeile 102 -
toArray()public Zeile 109 -
fromArray()public Zeile 121
Verwendet von 3
- AssignChunkTaxonomyUseCase.php use
- ChunkTaxonomyRepository.php use
- ChunkTaxonomyRepositoryInterface.php use
Code
<?php
declare(strict_types=1);
namespace Domain\Entity;
// @responsibility: Mapping zwischen Chunk und Taxonomie-Begriff
use Domain\ValueObject\Confidence;
use Domain\ValueObject\MappingSource;
class ChunkTaxonomyMapping
{
private ?int $id = null;
private int $chunkId;
private int $taxonomyTermId;
private Confidence $confidence;
private MappingSource $source;
private \DateTimeImmutable $createdAt;
public function __construct()
{
$this->createdAt = new \DateTimeImmutable();
$this->confidence = Confidence::medium();
$this->source = MappingSource::AUTO;
}
// Getters
public function getId(): ?int
{
return $this->id;
}
public function getChunkId(): int
{
return $this->chunkId;
}
public function getTaxonomyTermId(): int
{
return $this->taxonomyTermId;
}
public function getConfidence(): Confidence
{
return $this->confidence;
}
public function getSource(): MappingSource
{
return $this->source;
}
public function getCreatedAt(): \DateTimeImmutable
{
return $this->createdAt;
}
// Setters
public function setId(int $id): self
{
$this->id = $id;
return $this;
}
public function setChunkId(int $chunkId): self
{
$this->chunkId = $chunkId;
return $this;
}
public function setTaxonomyTermId(int $taxonomyTermId): self
{
$this->taxonomyTermId = $taxonomyTermId;
return $this;
}
public function setConfidence(Confidence $confidence): self
{
$this->confidence = $confidence;
return $this;
}
public function setConfidenceFromFloat(float $value): self
{
$this->confidence = Confidence::fromFloat($value);
return $this;
}
public function setSource(MappingSource $source): self
{
$this->source = $source;
return $this;
}
public function setCreatedAt(\DateTimeImmutable $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function toArray(): array
{
return [
'id' => $this->id,
'chunk_id' => $this->chunkId,
'taxonomy_term_id' => $this->taxonomyTermId,
'confidence' => $this->confidence->value(),
'source' => $this->source->value,
'created_at' => $this->createdAt->format('Y-m-d H:i:s'),
];
}
public static function fromArray(array $data): self
{
$mapping = new self();
if (isset($data['id'])) {
$mapping->setId((int) $data['id']);
}
if (isset($data['chunk_id'])) {
$mapping->setChunkId((int) $data['chunk_id']);
}
if (isset($data['taxonomy_term_id'])) {
$mapping->setTaxonomyTermId((int) $data['taxonomy_term_id']);
}
if (isset($data['confidence'])) {
$mapping->setConfidenceFromFloat((float) $data['confidence']);
}
if (isset($data['source'])) {
$mapping->setSource(MappingSource::from($data['source']));
}
if (isset($data['created_at'])) {
$mapping->setCreatedAt(new \DateTimeImmutable($data['created_at']));
}
return $mapping;
}
}