20 lines
582 B
PHP
20 lines
582 B
PHP
<?php
|
|
namespace Incoviba\Common\Define\Repository;
|
|
|
|
use Incoviba\Common\Define\Model;
|
|
|
|
interface Mapper
|
|
{
|
|
public function setProperty(string $property): Mapper;
|
|
public function setFunction(callable $function): Mapper;
|
|
public function setFactory(Factory $factory): Mapper;
|
|
public function setDefault(mixed $value): Mapper;
|
|
|
|
public function hasProperty(): bool;
|
|
public function hasFunction(): bool;
|
|
public function hasFactory(): bool;
|
|
public function hasDefault(): bool;
|
|
|
|
public function parse(Model &$model, string $column, ?array $data): bool;
|
|
}
|