<?php

require_once("mother_entity.php");

/**
 * Classe d'un objet Projet
 * @author Laura
 */

class Category extends Entity{

    private ?int         $_id = null;
    protected string     $_name = '';
    protected ?int       $_parent = null;

    /**
     * Constructeur (j'ai toujours pas compris à quoi ça sert)
     */
    public function __construct(){
        $this->_prefix = 'category_';
    }

    // Méthode Getter et Setter

    /**
     * Récuperation de l'id de la catégorie
     * @return int l'id de la catégorie
     */
    public function getId(): ?int{
        return $this->_id;
    }

    /**
     * Mise à jour de l'id de la catégorie
     * @param int le nouvelle id
     */
    public function setId($id){
        if (empty($id)) {
            $this->_id = null;
        } else {
            $this->_id = (int) $id;
        }
    }

    /**
     * Récuperation du nom de la catégorie
     * @return string nom de la catégorie
     */
    public function getName(){
        return $this->_name;
    }

    /**
     * Mise à jour du nom de la catégorie
     * @param string le nouveau nom de la catégorie
     */
    public function setName($name){
        $this->_name = $name;
    }

    /**
     * Récuperation du nom du parent de la catégorie
     * @return int nom de la catégorie
     */
    public function getParent():?int{
        return $this->_parent;
    }

    /**
     * Mise à jour du nom du parent de la catégorie
     * @param int le nouveau nom de la catégorie
     */
    public function setParent($parent){
        if (empty($parent)) {
            $this->_parent = null;
        } else {
            $this->_parent = (int) $parent;
        }
    }

}