mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2025-03-14 19:05:18 +01:00
36 lines
901 B
PHP
36 lines
901 B
PHP
|
<?php
|
||
|
|
||
|
namespace App\Domain\SourceManagement;
|
||
|
|
||
|
use App\Domain\TemplateManagement\TemplateMetaInterface;
|
||
|
use App\Entity\Source\SourceInterface;
|
||
|
|
||
|
/**
|
||
|
* A meta source offers informations, which the system needs to handle the source.
|
||
|
*
|
||
|
* @author kevinfrantz
|
||
|
*/
|
||
|
interface SourceMetaInterface
|
||
|
{
|
||
|
public function getSourceReflection(): \ReflectionClass;
|
||
|
|
||
|
public function getInterfaceReflection(): \ReflectionClass;
|
||
|
|
||
|
public function getTemplateMeta(): TemplateMetaInterface;
|
||
|
|
||
|
/**
|
||
|
* @return array the namespace elements without the root
|
||
|
*/
|
||
|
public function getBasicPathArray(): array;
|
||
|
|
||
|
/**
|
||
|
* @return string Short class name in lower case without "Abstract" and "Source"
|
||
|
*/
|
||
|
public function getBasicName(): string;
|
||
|
|
||
|
/**
|
||
|
* @return SourceInterface The source to which the meta object belongs to
|
||
|
*/
|
||
|
public function getSource(): SourceInterface;
|
||
|
}
|