<?php
/*
* This file is part of the Doctrine Behavioral Extensions package.
* (c) Gediminas Morkevicius <gediminas.morkevicius@gmail.com> http://www.gediminasm.org
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Gedmo\Tree\Entity\MappedSuperclass;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\MappedSuperclass
*/
#[ORM\MappedSuperclass]
abstract class AbstractClosure
{
/**
* @var int|null
*
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
* @ORM\Column(type="integer")
*/
#[ORM\Column(type: Types::INTEGER)]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
protected $id;
/**
* Mapped by listener
* Visibility must be protected
*
* @var object|null
*/
protected $ancestor;
/**
* Mapped by listener
* Visibility must be protected
*
* @var object|null
*/
protected $descendant;
/**
* @var int|null
*
* @ORM\Column(type="integer")
*/
#[ORM\Column(type: Types::INTEGER)]
protected $depth;
/**
* @return int|null
*/
public function getId()
{
return $this->id;
}
/**
* Set ancestor
*
* @param object $ancestor
*
* @return static
*/
public function setAncestor($ancestor)
{
$this->ancestor = $ancestor;
return $this;
}
/**
* Get ancestor
*
* @return object|null
*/
public function getAncestor()
{
return $this->ancestor;
}
/**
* Set descendant
*
* @param object $descendant
*
* @return static
*/
public function setDescendant($descendant)
{
$this->descendant = $descendant;
return $this;
}
/**
* Get descendant
*
* @return object|null
*/
public function getDescendant()
{
return $this->descendant;
}
/**
* Set depth
*
* @param int $depth
*
* @return static
*/
public function setDepth($depth)
{
$this->depth = $depth;
return $this;
}
/**
* Get depth
*
* @return int|null
*/
public function getDepth()
{
return $this->depth;
}
}