mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-12-09 11:53:55 +00:00
48 lines
1.5 KiB
PHP
48 lines
1.5 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/*
|
|
* Chill is a software for social workers
|
|
*
|
|
* For the full copyright and license information, please view
|
|
* the LICENSE file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Chill\PersonBundle\PersonIdentifier;
|
|
|
|
use Chill\PersonBundle\Entity\Identifier\PersonIdentifier;
|
|
use Chill\PersonBundle\Entity\Identifier\PersonIdentifierDefinition;
|
|
use Symfony\Component\Form\FormBuilderInterface;
|
|
|
|
interface PersonIdentifierEngineInterface
|
|
{
|
|
public static function getName(): string;
|
|
|
|
/**
|
|
* @phpstan-pure
|
|
*/
|
|
public function canonicalizeValue(array $value, PersonIdentifierDefinition $definition): ?string;
|
|
|
|
public function buildForm(FormBuilderInterface $builder, PersonIdentifierDefinition $personIdentifierDefinition): void;
|
|
|
|
public function renderAsString(?PersonIdentifier $identifier, PersonIdentifierDefinition $definition): string;
|
|
|
|
/**
|
|
* Return true if the identifier must be considered as empty.
|
|
*
|
|
* This is in use when the identifier is validated and must be required. If the identifier is empty and is required
|
|
* by the definition, the validation will fails.
|
|
*/
|
|
public function isEmpty(PersonIdentifier $identifier): bool;
|
|
|
|
/**
|
|
* Return a list of @see{IdentifierViolationDTO} to generatie violation errors.
|
|
*
|
|
* @return list<IdentifierViolationDTO>
|
|
*/
|
|
public function validate(PersonIdentifier $identifier, PersonIdentifierDefinition $definition): array;
|
|
|
|
public function getDefaultValue(PersonIdentifierDefinition $definition): array;
|
|
}
|