<?php declare(strict_types=1);
namespace Newland\Toubiz\Sync\Neos\Domain\Model;

use CrEOF\Spatial\PHP\Types\AbstractGeometry;
use Doctrine\ORM\Mapping as ORM;
use Neos\Flow\Annotations as Flow;

/**
 * @Flow\Entity
 */
class Geometry
{
    public const TYPE_ZIP = 'zip';

    /** @var string */
    protected $type;

    /** @var string */
    protected $label;

    /**
     * @var AbstractGeometry
     * @ORM\Column(type="geometry")
     */
    protected $geometry;

    public function getType(): string
    {
        return $this->type;
    }

    public function setType(string $type): void
    {
        $this->type = $type;
    }

    public function getLabel(): string
    {
        return $this->label;
    }

    public function setLabel(string $label): void
    {
        $this->label = $label;
    }

    public function getGeometry(): AbstractGeometry
    {
        return $this->geometry;
    }

    public function setGeometry(AbstractGeometry $geometry): void
    {
        $this->geometry = $geometry;
    }
}
