src/AppBundle/Entity/JerarquiaNodo.php line 14
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Nodo de jerarquia
*
* @ORM\Table(name="jerarquia_nodo")
* @ORM\Entity(repositoryClass="AppBundle\Repository\JerarquiaNodoRepository")
*/
class JerarquiaNodo
{
const LIMITE_MIGAS_DE_PAN = 6;
/**
* @var int
*
* @ORM\Column(name="id", type="string", length=15, unique=true)
* @ORM\Id
* @Assert\NotBlank
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="texto", type="string", length=255, unique=true)
* @Assert\NotBlank
*/
private $texto;
/**
* @var string
*
* @ORM\Column(name="orden", type="integer")
*/
private $orden;
/**
* @var string
*
* @ORM\Column(name="imagen", type="string")
* @Assert\NotBlank
*/
private $imagen;
/**
* @var string
*
* @ORM\Column(name="tipo", type="string")
* @Assert\NotBlank
*/
private $tipo;
/**
* @var string
*
* @ORM\Column(name="nodo_superior_id", type="string", length=15 )
*/
private $nodo_superior_id;
/**
* @var JerarquiaNodo
*
* @ORM\ManyToOne(targetEntity="JerarquiaNodo", inversedBy="subordinados", fetch="EAGER")
* @ORM\JoinColumn(name="nodo_superior_id", referencedColumnName="id")
*/
private $superior;
/**
* @ORM\OneToMany(targetEntity="JerarquiaNodo", mappedBy="superior", fetch="LAZY")
* @ORM\OrderBy({"orden" = "ASC"})
*/
private $subordinados;
/**
* @var string
*
* @ORM\Column(name="enlace", type="string")
* @Assert\NotBlank
*/
private $enlace;
/**
* @var string
*
* @ORM\Column(name="folleto", type="string", length=255)
*/
private $folleto;
/**
* @var string
*
* @ORM\Column(name="color", type="string", length=7)
*/
private $color;
/**
* @var string
*
* @ORM\Column(name="color_texto", type="string", length=7)
*/
private $colorTexto;
/**
* Set id
*
* @return int
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set texto
*
* @param string $texto
*
* @return glosario
*/
public function setTexto($texto)
{
$this->texto = $texto;
return $this;
}
/**
* Get texto
*
* @return string
*/
public function getTexto()
{
return $this->texto;
}
/**
* Set definicion
*
* @param string $definicion
*
* @return JerarquiaNodo
*/
public function setDefinicion($definicion)
{
$this->definicion = $definicion;
return $this;
}
/**
* Get orden
*
* @return integer
*/
public function getOrden()
{
return $this->orden;
}
/**
* Set the value of orden
*
* @param string $orden
*
* @return self
*/
public function setOrden(string $orden)
{
$this->orden = $orden;
return $this;
}
/**
* Set imagen
*
* @return JerarquiaNodo
*/
public function setImagen($imagen)
{
$this->imagen = $imagen;
return $this;
}
/**
* Get imagen
*
* @return string
*/
public function getImagen()
{
return $this->imagen;
}
/**
* Set tipo
*
* @return JerarquiaNodo
*/
public function setTipo($tipo)
{
$this->tipo = $tipo;
return $this;
}
/**
* Get tipo
*
* @return string
*/
public function getTipo()
{
return $this->tipo;
}
/**
* Set superior
*
* @return string
*/
public function setSuperior($nodo = null)
{
$this->superior = $nodo;
return $this;
}
/**
* Get superior
*
* @return string
*/
public function getSuperior()
{
return $this->superior;
}
/**
* Get subordinados
*
* @return string
*/
public function getSubordinados()
{
return $this->subordinados;
}
public function getMigaDePan()
{
return [
'id' => $this->id,
'texto' => $this->texto,
'enlace' => $this->getEnlace(),
];
}
public function getMigasDePan($limite = self::LIMITE_MIGAS_DE_PAN)
{
if (--$limite && $this->superior) {
return array_merge(
$this->superior->getMigasDePan($limite),
[$this->getMigaDePan()]
);
} else {
return [$this->getMigaDePan()];
}
}
/**
* Get the value of enlace
*
* @return string
*/
public function getEnlace()
{
return trim(str_replace('/', '', $this->enlace)) ? trim($this->enlace) . "&nodo=" . $this->id : "";
}
/**
* Set the value of enlace
*
* @param string $enlace
*
* @return self
*/
public function setEnlace(string $enlace)
{
$this->enlace = $enlace;
return $this;
}
/**
* Get the value of folleto
*
* @return string
*/
public function getFolleto()
{
return $this->folleto;
}
/**
* Set the value of folleto
*
* @param string $folleto
*
* @return self
*/
public function setFolleto(string $folleto)
{
$this->folleto = $folleto;
return $this;
}
/**
* Get the value of colorTexto
*
* @return string
*/
public function getColorTexto()
{
return $this->colorTexto;
}
/**
* Set the value of colorTexto
*
* @param string $colorTexto
*
* @return self
*/
public function setColorTexto(string $colorTexto)
{
$this->colorTexto = $colorTexto;
return $this;
}
/**
* Get the value of color
*
* @return string
*/
public function getColor()
{
return $this->color;
}
/**
* Set the value of color
*
* @param string $color
*
* @return self
*/
public function setColor(string $color)
{
$this->color = $color;
return $this;
}
/**
* Get the value of nodo_superior_id
*
* @return string
*/
public function getNodoSuperiorId()
{
return $this->nodo_superior_id;
}
/**
* Set the value of nodo_superior_id
*
* @param string $nodo_superior_id
*
* @return self
*/
public function setNodoSuperiorId(string $nodo_superior_id = null)
{
$this->nodo_superior_id = $nodo_superior_id;
return $this;
}
}