jeyroik/extas-workflow

View on GitHub
src/components/workflows/entities/THasEntitySample.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
namespace extas\components\workflows\entities;

use extas\interfaces\repositories\IRepository;
use extas\interfaces\workflows\entities\IEntitySample;
use extas\interfaces\workflows\entities\IHasEntitySample;

/**
 * Trait THasEntitySample
 *
 * @property array $config
 * @method IRepository workflowEntitiesSamples()
 *
 * @package extas\components\workflows\entities
 * @author jeyroik@gmail.com
 */
trait THasEntitySample
{
    /**
     * @return string
     */
    public function getEntitySampleName(): string
    {
        return $this->config[IHasEntitySample::FIELD__ENTITY_SAMPLE_NAME] ?? '';
    }

    /**
     * @return IEntitySample|null
     */
    public function getEntitySample(): ?IEntitySample
    {
        return $this->workflowEntitiesSamples()->one([
            IEntitySample::FIELD__NAME => $this->getEntitySampleName()
        ]);
    }

    /**
     * @param string $entitySampleName
     * @return $this
     */
    public function setEntitySampleName(string $entitySampleName)
    {
        $this->config[IHasEntitySample::FIELD__ENTITY_SAMPLE_NAME] = $entitySampleName;

        return $this;
    }
}