src/Entity/SchoolYear.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\SchoolYearRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Doctrine\ORM\Mapping\HasLifecycleCallbacks;
  8. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  9. use App\Entity\Traits\Timestampable;
  10. #[ORM\HasLifecycleCallbacks]
  11. #[ORM\Entity(repositoryClassSchoolYearRepository::class)]
  12. #[UniqueEntity(fields: ['name'], message'cette annĂ©e existe deja')]
  13. class SchoolYear
  14. {
  15.     use Timestampable;
  16.     #[ORM\Id]
  17.     #[ORM\GeneratedValue]
  18.     #[ORM\Column]
  19.     private ?int $id null;
  20.     #[ORM\Column(length255)]
  21.     private ?string $name null;
  22.     #[ORM\Column]
  23.     private ?bool $active null;
  24.     #[ORM\OneToMany(mappedBy'year'targetEntityUserYear::class)]
  25.     private Collection $userYears;
  26.     #[ORM\OneToMany(mappedBy'year'targetEntityStudentYear::class)]
  27.     private Collection $studentYears;
  28.     #[ORM\OneToMany(mappedBy'year'targetEntityHomeWork::class)]
  29.     private Collection $homeWorks;
  30.     #[ORM\OneToMany(mappedBy'year'targetEntityHomeWorkYear::class)]
  31.     private Collection $homeWorkYears;
  32.     #[ORM\OneToMany(mappedBy'year'targetEntityLate::class)]
  33.     private Collection $lates;
  34.     #[ORM\OneToMany(mappedBy'year'targetEntityChat::class)]
  35.     private Collection $chats;
  36.     #[ORM\OneToMany(mappedBy'year'targetEntityAbsence::class)]
  37.     private Collection $absences;
  38.     #[ORM\OneToMany(mappedBy'year'targetEntityNote::class)]
  39.     private Collection $notes;
  40.     #[ORM\OneToMany(mappedBy'year'targetEntityExams::class)]
  41.     private Collection $exams;
  42.     #[ORM\OneToMany(mappedBy'year'targetEntityDocInfo::class)]
  43.     private Collection $docInfos;
  44.     #[ORM\ManyToOne(inversedBy'schoolYears'cascade: ["persist"])]
  45.     private ?User $author null;
  46.     #[ORM\ManyToOne(inversedBy'schoolYearsEdited'cascade: ["persist"])]
  47.     private ?User $editor null;
  48.     #[ORM\OneToMany(mappedBy'year'targetEntityPunish::class)]
  49.     private Collection $punishes;
  50.     #[ORM\OneToMany(mappedBy'year'targetEntityDiscussion::class)]
  51.     private Collection $discussions;
  52.     #[ORM\OneToMany(mappedBy'year'targetEntityDiscussionClass::class)]
  53.     private Collection $discussionClasses;
  54.     #[ORM\OneToMany(mappedBy'year'targetEntityAgenda::class)]
  55.     private Collection $agendas;
  56.     #[ORM\OneToMany(mappedBy'year'targetEntityExamAgenda::class)]
  57.     private Collection $examAgendas;
  58.     #[ORM\OneToMany(mappedBy'year'targetEntityQuarter::class, orphanRemovaltrue)]
  59.     private Collection $quarters;
  60.     #[ORM\OneToMany(mappedBy'year'targetEntityGlobalQuarter::class)]
  61.     private Collection $globalQuarters;
  62.     #[ORM\OneToMany(mappedBy'year'targetEntityAppreciation::class, orphanRemovaltrue)]
  63.     private Collection $appreciations;
  64.     #[ORM\OneToMany(mappedBy'year'targetEntityLocalAccount::class)]
  65.     private Collection $localAccounts;
  66.     #[ORM\OneToMany(mappedBy'year'targetEntityDisciplineWarning::class)]
  67.     private Collection $disciplineWarnings;
  68.     #[ORM\OneToMany(mappedBy'year'targetEntityDisciplineBlame::class)]
  69.     private Collection $disciplineBlames;
  70.     #[ORM\OneToMany(mappedBy'year'targetEntityDisciplineExclusion::class)]
  71.     private Collection $disciplineExclusions;
  72.     #[ORM\OneToMany(mappedBy'year'targetEntityParentNote::class)]
  73.     private Collection $parentNotes;
  74.     #[ORM\OneToMany(mappedBy'year'targetEntityJustifyAbsence::class)]
  75.     private Collection $justifyAbsences;
  76.     #[ORM\OneToMany(mappedBy'year'targetEntitySubject::class)]
  77.     private Collection $subjects;
  78.     #[ORM\OneToMany(mappedBy'year'targetEntityAbsenceRetainedConfig::class)]
  79.     private Collection $absenceRetainedConfigs;
  80.     #[ORM\OneToMany(mappedBy'year'targetEntityAbsenceWarningConfig::class)]
  81.     private Collection $absenceWarningConfigs;
  82.     #[ORM\OneToMany(mappedBy'year'targetEntityAbsenceExclusionConfig::class)]
  83.     private Collection $absenceExclusionConfigs;
  84.     #[ORM\OneToMany(mappedBy'year'targetEntityAbsenceBlameConfig::class)]
  85.     private Collection $absenceBlameConfigs;
  86.     #[ORM\OneToMany(mappedBy'year'targetEntityDisciplineRetained::class)]
  87.     private Collection $disciplineRetaineds;
  88.     #[ORM\OneToMany(mappedBy'year'targetEntityDefinitiveExclusion::class)]
  89.     private Collection $definitiveExclusions;
  90.     #[ORM\OneToMany(mappedBy'year'targetEntityDisciplineConcile::class)]
  91.     private Collection $disciplineConciles;
  92.     #[ORM\OneToMany(mappedBy'year'targetEntityAbsenceDisciplineConcileConfig::class)]
  93.     private Collection $absenceDisciplineConcileConfigs;
  94.     #[ORM\OneToMany(mappedBy'year'targetEntityWarningBlameConfig::class)]
  95.     private Collection $warningBlameConfigs;
  96.     #[ORM\OneToMany(mappedBy'year'targetEntityWarningDefinitiveExlusionConfig::class)]
  97.     private Collection $warningDefinitiveExlusionConfigs;
  98.     #[ORM\OneToMany(mappedBy'year'targetEntityPrimaryParentNote::class)]
  99.     private Collection $primaryParentNotes;
  100.     #[ORM\OneToMany(mappedBy'year'targetEntityPrimaryNote::class)]
  101.     private Collection $primaryNotes;
  102.     #[ORM\OneToMany(mappedBy'year'targetEntityVerbalProcessCategory::class)]
  103.     private Collection $verbalProcessCategories;
  104.     #[ORM\OneToMany(mappedBy'year'targetEntityGlobalDisciplineConfig::class)]
  105.     private Collection $globalDisciplineConfigs;
  106.     #[ORM\OneToMany(mappedBy'year'targetEntityDisciplinePunish::class)]
  107.     private Collection $disciplinePunishes;
  108.     #[ORM\OneToMany(mappedBy'year'targetEntityGlobalDisciplineEnabledConfig::class)]
  109.     private Collection $globalDisciplineEnabledConfigs;
  110.     #[ORM\OneToMany(mappedBy'year'targetEntityBlamePunishConfig::class)]
  111.     private Collection $blamePunishConfigs;
  112.     #[ORM\OneToMany(mappedBy'year'targetEntityAbsencePunishConfig::class)]
  113.     private Collection $absencePunishConfigs;
  114.     #[ORM\OneToMany(mappedBy'year'targetEntityWarningPunishConfig::class)]
  115.     private Collection $warningPunishConfigs;
  116.     #[ORM\OneToMany(mappedBy'year'targetEntityPunishRetainedConfig::class)]
  117.     private Collection $punishRetainedConfigs;
  118.     #[ORM\OneToMany(mappedBy'year'targetEntityPunishWarningConfig::class)]
  119.     private Collection $punishWarningConfigs;
  120.     #[ORM\OneToMany(mappedBy'year'targetEntityPunishBlameConfig::class)]
  121.     private Collection $punishBlameConfigs;
  122.     #[ORM\OneToMany(mappedBy'year'targetEntityPunishExclusionConfig::class)]
  123.     private Collection $punishExclusionConfigs;
  124.     #[ORM\Column(length255)]
  125.     private ?string $nameEn null;
  126.     #[ORM\OneToMany(mappedBy'year'targetEntitySchoolYearInfos::class)]
  127.     private Collection $schoolYearInfos;
  128.     #[ORM\OneToMany(mappedBy'year'targetEntityBlame::class)]
  129.     private Collection $blames;
  130.     #[ORM\OneToMany(mappedBy'year'targetEntityWarning::class)]
  131.     private Collection $warnings;
  132.     #[ORM\OneToMany(mappedBy'year'targetEntityRetained::class)]
  133.     private Collection $retaineds;
  134.     #[ORM\OneToMany(mappedBy'year'targetEntityHonnorTableLimitMoy::class)]
  135.     private Collection $honnorTableLimitMoys;
  136.     #[ORM\OneToMany(mappedBy'year'targetEntityNews::class)]
  137.     private Collection $news;
  138.     #[ORM\OneToMany(mappedBy'year'targetEntityEvent::class)]
  139.     private Collection $events;
  140.     #[ORM\OneToMany(mappedBy'year'targetEntityAdmissionLimit::class)]
  141.     private Collection $admissionLimits;
  142.     #[ORM\OneToMany(mappedBy'year'targetEntityAgendaDay::class)]
  143.     private Collection $agendaDays;
  144.     #[ORM\OneToOne(mappedBy'year'cascade: ['persist'])]
  145.     private ?AgendaTimeConvertion $agendaTimeConvertion null;
  146.     #[ORM\OneToMany(mappedBy'year'targetEntityExamWeek::class)]
  147.     private Collection $examWeeks;
  148.     #[ORM\OneToMany(mappedBy'year'targetEntityCompetence::class)]
  149.     private Collection $competences;
  150.     #[ORM\OneToMany(mappedBy'year'targetEntityWeekSubjectGoal::class)]
  151.     private Collection $weekSubjectGoals;
  152.     #[ORM\OneToMany(mappedBy'year'targetEntityProfSchoolPlanner::class)]
  153.     private Collection $profSchoolPlanners;
  154.     #[ORM\OneToMany(mappedBy'year'targetEntityProfTime::class)]
  155.     private Collection $profTimes;
  156.     #[ORM\OneToMany(mappedBy'year'targetEntitySchoolPlannerType::class)]
  157.     private Collection $schoolPlannerTypes;
  158.     #[ORM\OneToMany(mappedBy'year'targetEntityAgendaElement::class)]
  159.     private Collection $agendaElements;
  160.     public function __construct()
  161.     {
  162.         $this->userYears = new ArrayCollection();
  163.         $this->studentYears = new ArrayCollection();
  164.         $this->homeWorks = new ArrayCollection();
  165.         $this->homeWorkYears = new ArrayCollection();
  166.         $this->lates = new ArrayCollection();
  167.         $this->chats = new ArrayCollection();
  168.         $this->absences = new ArrayCollection();
  169.         $this->notes = new ArrayCollection();
  170.         $this->exams = new ArrayCollection();
  171.         $this->docInfos = new ArrayCollection();
  172.         $this->punishes = new ArrayCollection();
  173.         $this->discussions = new ArrayCollection();
  174.         $this->discussionClasses = new ArrayCollection();
  175.         $this->agendas = new ArrayCollection();
  176.         $this->examAgendas = new ArrayCollection();
  177.         $this->quarters = new ArrayCollection();
  178.         $this->globalQuarters = new ArrayCollection();
  179.         $this->appreciations = new ArrayCollection();
  180.         $this->localAccounts = new ArrayCollection();
  181.         $this->disciplineWarnings = new ArrayCollection();
  182.         $this->disciplineBlames = new ArrayCollection();
  183.         $this->disciplineExclusions = new ArrayCollection();
  184.         $this->parentNotes = new ArrayCollection();
  185.         $this->justifyAbsences = new ArrayCollection();
  186.         $this->subjects = new ArrayCollection();
  187.         $this->absenceRetainedConfigs = new ArrayCollection();
  188.         $this->absenceWarningConfigs = new ArrayCollection();
  189.         $this->absenceExclusionConfigs = new ArrayCollection();
  190.         $this->absenceBlameConfigs = new ArrayCollection();
  191.         $this->disciplineRetaineds = new ArrayCollection();
  192.         $this->definitiveExclusions = new ArrayCollection();
  193.         $this->disciplineConciles = new ArrayCollection();
  194.         $this->absenceDisciplineConcileConfigs = new ArrayCollection();
  195.         $this->warningBlameConfigs = new ArrayCollection();
  196.         $this->warningDefinitiveExlusionConfigs = new ArrayCollection();
  197.         $this->primaryParentNotes = new ArrayCollection();
  198.         $this->primaryNotes = new ArrayCollection();
  199.         $this->verbalProcessCategories = new ArrayCollection();
  200.         $this->globalDisciplineConfigs = new ArrayCollection();
  201.         $this->disciplinePunishes = new ArrayCollection();
  202.         $this->globalDisciplineEnabledConfigs = new ArrayCollection();
  203.         $this->blamePunishConfigs = new ArrayCollection();
  204.         $this->absencePunishConfigs = new ArrayCollection();
  205.         $this->warningPunishConfigs = new ArrayCollection();
  206.         $this->punishRetainedConfigs = new ArrayCollection();
  207.         $this->punishWarningConfigs = new ArrayCollection();
  208.         $this->punishBlameConfigs = new ArrayCollection();
  209.         $this->punishExclusionConfigs = new ArrayCollection();
  210.         $this->schoolYearInfos = new ArrayCollection();
  211.         $this->blames = new ArrayCollection();
  212.         $this->warnings = new ArrayCollection();
  213.         $this->retaineds = new ArrayCollection();
  214.         $this->honnorTableLimitMoys = new ArrayCollection();
  215.         $this->news = new ArrayCollection();
  216.         $this->events = new ArrayCollection();
  217.         $this->admissionLimits = new ArrayCollection();
  218.         $this->agendaDays = new ArrayCollection();
  219.         $this->examWeeks = new ArrayCollection();
  220.         $this->competences = new ArrayCollection();
  221.         $this->weekSubjectGoals = new ArrayCollection();
  222.         $this->profSchoolPlanners = new ArrayCollection();
  223.         $this->profTimes = new ArrayCollection();
  224.         $this->schoolPlannerTypes = new ArrayCollection();
  225.         $this->agendaElements = new ArrayCollection();
  226.     }
  227.     public function getId(): ?int
  228.     {
  229.         return $this->id;
  230.     }
  231.     public function getName(): ?string
  232.     {
  233.         return $this->name;
  234.     }
  235.     public function setName(string $name): static
  236.     {
  237.         $this->name $name;
  238.         return $this;
  239.     }
  240.     public function isActive(): ?bool
  241.     {
  242.         return $this->active;
  243.     }
  244.     public function setActive(bool $active): static
  245.     {
  246.         $this->active $active;
  247.         return $this;
  248.     }
  249.     /**
  250.      * @return Collection<int, UserYear>
  251.      */
  252.     public function getUserYears(): Collection
  253.     {
  254.         return $this->userYears;
  255.     }
  256.     public function addUserYear(UserYear $userYear): static
  257.     {
  258.         if (!$this->userYears->contains($userYear)) {
  259.             $this->userYears->add($userYear);
  260.             $userYear->setYear($this);
  261.         }
  262.         return $this;
  263.     }
  264.     public function removeUserYear(UserYear $userYear): static
  265.     {
  266.         if ($this->userYears->removeElement($userYear)) {
  267.             // set the owning side to null (unless already changed)
  268.             if ($userYear->getYear() === $this) {
  269.                 $userYear->setYear(null);
  270.             }
  271.         }
  272.         return $this;
  273.     }
  274.     /**
  275.      * @return Collection<int, StudentYear>
  276.      */
  277.     public function getStudentYears(): Collection
  278.     {
  279.         return $this->studentYears;
  280.     }
  281.     public function addStudentYear(StudentYear $studentYear): static
  282.     {
  283.         if (!$this->studentYears->contains($studentYear)) {
  284.             $this->studentYears->add($studentYear);
  285.             $studentYear->setYear($this);
  286.         }
  287.         return $this;
  288.     }
  289.     public function removeStudentYear(StudentYear $studentYear): static
  290.     {
  291.         if ($this->studentYears->removeElement($studentYear)) {
  292.             // set the owning side to null (unless already changed)
  293.             if ($studentYear->getYear() === $this) {
  294.                 $studentYear->setYear(null);
  295.             }
  296.         }
  297.         return $this;
  298.     }
  299.     /**
  300.      * @return Collection<int, HomeWork>
  301.      */
  302.     public function getHomeWorks(): Collection
  303.     {
  304.         return $this->homeWorks;
  305.     }
  306.     public function addHomeWork(HomeWork $homeWork): static
  307.     {
  308.         if (!$this->homeWorks->contains($homeWork)) {
  309.             $this->homeWorks->add($homeWork);
  310.             $homeWork->setYear($this);
  311.         }
  312.         return $this;
  313.     }
  314.     public function removeHomeWork(HomeWork $homeWork): static
  315.     {
  316.         if ($this->homeWorks->removeElement($homeWork)) {
  317.             // set the owning side to null (unless already changed)
  318.             if ($homeWork->getYear() === $this) {
  319.                 $homeWork->setYear(null);
  320.             }
  321.         }
  322.         return $this;
  323.     }
  324.     /**
  325.      * @return Collection<int, HomeWorkYear>
  326.      */
  327.     public function getHomeWorkYears(): Collection
  328.     {
  329.         return $this->homeWorkYears;
  330.     }
  331.     public function addHomeWorkYear(HomeWorkYear $homeWorkYear): static
  332.     {
  333.         if (!$this->homeWorkYears->contains($homeWorkYear)) {
  334.             $this->homeWorkYears->add($homeWorkYear);
  335.             $homeWorkYear->setYear($this);
  336.         }
  337.         return $this;
  338.     }
  339.     public function removeHomeWorkYear(HomeWorkYear $homeWorkYear): static
  340.     {
  341.         if ($this->homeWorkYears->removeElement($homeWorkYear)) {
  342.             // set the owning side to null (unless already changed)
  343.             if ($homeWorkYear->getYear() === $this) {
  344.                 $homeWorkYear->setYear(null);
  345.             }
  346.         }
  347.         return $this;
  348.     }
  349.     /**
  350.      * @return Collection<int, Late>
  351.      */
  352.     public function getLates(): Collection
  353.     {
  354.         return $this->lates;
  355.     }
  356.     public function addLate(Late $late): static
  357.     {
  358.         if (!$this->lates->contains($late)) {
  359.             $this->lates->add($late);
  360.             $late->setYear($this);
  361.         }
  362.         return $this;
  363.     }
  364.     public function removeLate(Late $late): static
  365.     {
  366.         if ($this->lates->removeElement($late)) {
  367.             // set the owning side to null (unless already changed)
  368.             if ($late->getYear() === $this) {
  369.                 $late->setYear(null);
  370.             }
  371.         }
  372.         return $this;
  373.     }
  374.     /**
  375.      * @return Collection<int, Chat>
  376.      */
  377.     public function getChats(): Collection
  378.     {
  379.         return $this->chats;
  380.     }
  381.     public function addChat(Chat $chat): static
  382.     {
  383.         if (!$this->chats->contains($chat)) {
  384.             $this->chats->add($chat);
  385.             $chat->setYear($this);
  386.         }
  387.     }
  388.     /** 
  389.      * @return Collection<int, Absence>
  390.     */
  391.     public function getAbsences(): Collection
  392.     {
  393.         return $this->absences;
  394.     }
  395.     public function addAbsence(Absence $absence): static
  396.     {
  397.         if (!$this->absences->contains($absence)) {
  398.             $this->absences->add($absence);
  399.             $absence->setYear($this);
  400.         }
  401.         return $this;
  402.     }
  403.     public function removeChat(Chat $chat): static
  404.     {
  405.         if ($this->chats->removeElement($chat)) {
  406.             // set the owning side to null (unless already changed)
  407.             if ($chat->getYear() === $this) {
  408.                 $chat->setYear(null);
  409.             }
  410.         }
  411.         return $this;
  412.     }
  413.     public function removeAbsence(Absence $absence): static
  414.     {
  415.         if ($this->absences->removeElement($absence)) {
  416.             // set the owning side to null (unless already changed)
  417.             if ($absence->getYear() === $this) {
  418.                 $absence->setYear(null);
  419.             }
  420.         }
  421.         return $this;
  422.     }
  423.     /**
  424.      * @return Collection<int, Note>
  425.      */
  426.     public function getNotes(): Collection
  427.     {
  428.         return $this->notes;
  429.     }
  430.     public function addNote(Note $note): static
  431.     {
  432.         if (!$this->notes->contains($note)) {
  433.             $this->notes->add($note);
  434.             $note->setYear($this);
  435.         }
  436.         return $this;
  437.     }
  438.     public function removeNote(Note $note): static
  439.     {
  440.         if ($this->notes->removeElement($note)) {
  441.             // set the owning side to null (unless already changed)
  442.             if ($note->getYear() === $this) {
  443.                 $note->setYear(null);
  444.             }
  445.         }
  446.         return $this;
  447.     }
  448.     /**
  449.      * @return Collection<int, Exams>
  450.      */
  451.     public function getExams(): Collection
  452.     {
  453.         return $this->exams;
  454.     }
  455.     public function addExam(Exams $exam): static
  456.     {
  457.         if (!$this->exams->contains($exam)) {
  458.             $this->exams->add($exam);
  459.             $exam->setYear($this);
  460.         }
  461.         return $this;
  462.     }
  463.     public function removeExam(Exams $exam): static
  464.     {
  465.         if ($this->exams->removeElement($exam)) {
  466.             // set the owning side to null (unless already changed)
  467.             if ($exam->getYear() === $this) {
  468.                 $exam->setYear(null);
  469.             }
  470.         }
  471.         return $this;
  472.     }
  473.     /**
  474.      * @return Collection<int, DocInfo>
  475.      */
  476.     public function getDocInfos(): Collection
  477.     {
  478.         return $this->docInfos;
  479.     }
  480.     public function addDocInfo(DocInfo $docInfo): static
  481.     {
  482.         if (!$this->docInfos->contains($docInfo)) {
  483.             $this->docInfos->add($docInfo);
  484.             $docInfo->setYear($this);
  485.         }
  486.         return $this;
  487.     }
  488.     public function removeDocInfo(DocInfo $docInfo): static
  489.     {
  490.         if ($this->docInfos->removeElement($docInfo)) {
  491.             // set the owning side to null (unless already changed)
  492.             if ($docInfo->getYear() === $this) {
  493.                 $docInfo->setYear(null);
  494.             }
  495.         }
  496.         return $this;
  497.     }
  498.     public function getAuthor(): ?User
  499.     {
  500.         return $this->author;
  501.     }
  502.     public function setAuthor(?User $author): static
  503.     {
  504.         $this->author $author;
  505.         return $this;
  506.     }
  507.     
  508.     /**
  509.      * @return Collection<int, Punish>
  510.      */
  511.     public function getPunishes(): Collection
  512.     {
  513.         return $this->punishes;
  514.     }
  515.     public function addPunish(Punish $punish): static
  516.     {
  517.         if (!$this->punishes->contains($punish)) {
  518.             $this->punishes->add($punish);
  519.             $punish->setYear($this);
  520.         }
  521.         return $this;
  522.     }
  523.     public function removePunish(Punish $punish): static
  524.     {
  525.         if ($this->punishes->removeElement($punish)) {
  526.             // set the owning side to null (unless already changed)
  527.             if ($punish->getYear() === $this) {
  528.                 $punish->setYear(null);
  529.             }
  530.         }
  531.         return $this;
  532.     }
  533.     public function getEditor(): ?User
  534.     {
  535.         return $this->editor;
  536.     }
  537.     public function setEditor(?User $editor): static
  538.     {
  539.         $this->editor $editor;
  540.         return $this;
  541.     }
  542.     /**
  543.      * @return Collection<int, Discussion>
  544.      */
  545.     public function getDiscussions(): Collection
  546.     {
  547.         return $this->discussions;
  548.     }
  549.     public function addDiscussion(Discussion $discussion): static
  550.     {
  551.         if (!$this->discussions->contains($discussion)) {
  552.             $this->discussions->add($discussion);
  553.             $discussion->setYear($this);
  554.         }
  555.         return $this;
  556.     }
  557.     public function removeDiscussion(Discussion $discussion): static
  558.     {
  559.         if ($this->discussions->removeElement($discussion)) {
  560.             // set the owning side to null (unless already changed)
  561.             if ($discussion->getYear() === $this) {
  562.                 $discussion->setYear(null);
  563.             }
  564.         }
  565.         return $this;
  566.     }
  567.     /**
  568.      * @return Collection<int, DiscussionClass>
  569.      */
  570.     public function getDiscussionClasses(): Collection
  571.     {
  572.         return $this->discussionClasses;
  573.     }
  574.     public function addDiscussionClass(DiscussionClass $discussionClass): static
  575.     {
  576.         if (!$this->discussionClasses->contains($discussionClass)) {
  577.             $this->discussionClasses->add($discussionClass);
  578.             $discussionClass->setYear($this);
  579.         }
  580.         return $this;
  581.     }
  582.     public function removeDiscussionClass(DiscussionClass $discussionClass): static
  583.     {
  584.         if ($this->discussionClasses->removeElement($discussionClass)) {
  585.             // set the owning side to null (unless already changed)
  586.             if ($discussionClass->getYear() === $this) {
  587.                 $discussionClass->setYear(null);
  588.             }
  589.         }
  590.         return $this;
  591.     }
  592.     /**
  593.      * @return Collection<int, Agenda>
  594.      */
  595.     public function getAgendas(): Collection
  596.     {
  597.         return $this->agendas;
  598.     }
  599.     public function addAgenda(Agenda $agenda): static
  600.     {
  601.         if (!$this->agendas->contains($agenda)) {
  602.             $this->agendas->add($agenda);
  603.             $agenda->setYear($this);
  604.         }
  605.         return $this;
  606.     }
  607.     public function removeAgenda(Agenda $agenda): static
  608.     {
  609.         if ($this->agendas->removeElement($agenda)) {
  610.             // set the owning side to null (unless already changed)
  611.             if ($agenda->getYear() === $this) {
  612.                 $agenda->setYear(null);
  613.             }
  614.         }
  615.         return $this;
  616.     }
  617.     /**
  618.      * @return Collection<int, ExamAgenda>
  619.      */
  620.     public function getExamAgendas(): Collection
  621.     {
  622.         return $this->examAgendas;
  623.     }
  624.     public function addExamAgenda(ExamAgenda $examAgenda): static
  625.     {
  626.         if (!$this->examAgendas->contains($examAgenda)) {
  627.             $this->examAgendas->add($examAgenda);
  628.             $examAgenda->setYear($this);
  629.         }
  630.         return $this;
  631.     }
  632.     public function removeExamAgenda(ExamAgenda $examAgenda): static
  633.     {
  634.         if ($this->examAgendas->removeElement($examAgenda)) {
  635.             // set the owning side to null (unless already changed)
  636.             if ($examAgenda->getYear() === $this) {
  637.                 $examAgenda->setYear(null);
  638.             }
  639.         }
  640.         return $this;
  641.     }
  642.     /**
  643.      * @return Collection<int, Quarter>
  644.      */
  645.     public function getQuarters(): Collection
  646.     {
  647.         return $this->quarters;
  648.     }
  649.     public function addQuarter(Quarter $quarter): static
  650.     {
  651.         if (!$this->quarters->contains($quarter)) {
  652.             $this->quarters->add($quarter);
  653.             $quarter->setYear($this);
  654.         }
  655.         return $this;
  656.     }
  657.     public function removeQuarter(Quarter $quarter): static
  658.     {
  659.         if ($this->quarters->removeElement($quarter)) {
  660.             // set the owning side to null (unless already changed)
  661.             if ($quarter->getYear() === $this) {
  662.                 $quarter->setYear(null);
  663.             }
  664.         }
  665.         return $this;
  666.     }
  667.     /**
  668.      * @return Collection<int, GlobalQuarter>
  669.      */
  670.     public function getGlobalQuarters(): Collection
  671.     {
  672.         return $this->globalQuarters;
  673.     }
  674.     public function addGlobalQuarter(GlobalQuarter $globalQuarter): static
  675.     {
  676.         if (!$this->globalQuarters->contains($globalQuarter)) {
  677.             $this->globalQuarters->add($globalQuarter);
  678.             $globalQuarter->setYear($this);
  679.         }
  680.         return $this;
  681.     }
  682.     public function removeGlobalQuarter(GlobalQuarter $globalQuarter): static
  683.     {
  684.         if ($this->globalQuarters->removeElement($globalQuarter)) {
  685.             // set the owning side to null (unless already changed)
  686.             if ($globalQuarter->getYear() === $this) {
  687.                 $globalQuarter->setYear(null);
  688.             }
  689.         }
  690.         return $this;
  691.     }
  692.     /**
  693.      * @return Collection<int, LocalAccount>
  694.      */
  695.     public function getLocalAccounts(): Collection
  696.     {
  697.         return $this->localAccounts;
  698.     }
  699.     public function addLocalAccount(LocalAccount $localAccount): static
  700.     {
  701.         if (!$this->localAccounts->contains($localAccount)) {
  702.             $this->localAccounts->add($localAccount);
  703.             $localAccount->setYear($this);
  704.         }
  705.         return $this;
  706.     }
  707.     public function removeLocalAccount(LocalAccount $localAccount): static
  708.     {
  709.         if ($this->localAccounts->removeElement($localAccount)) {
  710.             // set the owning side to null (unless already changed)
  711.             if ($localAccount->getYear() === $this) {
  712.                 $localAccount->setYear(null);
  713.             }
  714.         }
  715.         return $this;
  716.     }
  717.     /**
  718.      * @return Collection<int, Appreciation>
  719.      */
  720.     public function getAppreciations(): Collection
  721.     {
  722.         return $this->appreciations;
  723.     }
  724.     public function addAppreciation(Appreciation $appreciation): static
  725.     {
  726.         if (!$this->appreciations->contains($appreciation)) {
  727.             $this->appreciations->add($appreciation);
  728.             $appreciation->setYear($this);
  729.         }
  730.         return $this;
  731.     }
  732.     public function removeAppreciation(Appreciation $appreciation): static
  733.     {
  734.         if ($this->appreciations->removeElement($appreciation)) {
  735.             // set the owning side to null (unless already changed)
  736.             if ($appreciation->getYear() === $this) {
  737.                 $appreciation->setYear(null);
  738.             }
  739.         }
  740.         return $this;
  741.     }
  742.     /**
  743.      * @return Collection<int, DisciplineWarning>
  744.      */
  745.     public function getDisciplineWarnings(): Collection
  746.     {
  747.         return $this->disciplineWarnings;
  748.     }
  749.     public function addDisciplineWarning(DisciplineWarning $disciplineWarning): static
  750.     {
  751.         if (!$this->disciplineWarnings->contains($disciplineWarning)) {
  752.             $this->disciplineWarnings->add($disciplineWarning);
  753.             $disciplineWarning->setYear($this);
  754.         }
  755.         return $this;
  756.     }
  757.     public function removeDisciplineWarning(DisciplineWarning $disciplineWarning): static
  758.     {
  759.         if ($this->disciplineWarnings->removeElement($disciplineWarning)) {
  760.             // set the owning side to null (unless already changed)
  761.             if ($disciplineWarning->getYear() === $this) {
  762.                 $disciplineWarning->setYear(null);
  763.             }
  764.         }
  765.         return $this;
  766.     }
  767.     /**
  768.      * @return Collection<int, DisciplineBlame>
  769.      */
  770.     public function getDisciplineBlames(): Collection
  771.     {
  772.         return $this->disciplineBlames;
  773.     }
  774.     public function addDisciplineBlame(DisciplineBlame $disciplineBlame): static
  775.     {
  776.         if (!$this->disciplineBlames->contains($disciplineBlame)) {
  777.             $this->disciplineBlames->add($disciplineBlame);
  778.             $disciplineBlame->setYear($this);
  779.         }
  780.         return $this;
  781.     }
  782.     public function removeDisciplineBlame(DisciplineBlame $disciplineBlame): static
  783.     {
  784.         if ($this->disciplineBlames->removeElement($disciplineBlame)) {
  785.             // set the owning side to null (unless already changed)
  786.             if ($disciplineBlame->getYear() === $this) {
  787.                 $disciplineBlame->setYear(null);
  788.             }
  789.         }
  790.         return $this;
  791.     }
  792.     /**
  793.      * @return Collection<int, DisciplineExclusion>
  794.      */
  795.     public function getDisciplineExclusions(): Collection
  796.     {
  797.         return $this->disciplineExclusions;
  798.     }
  799.     public function addDisciplineExclusion(DisciplineExclusion $disciplineExclusion): static
  800.     {
  801.         if (!$this->disciplineExclusions->contains($disciplineExclusion)) {
  802.             $this->disciplineExclusions->add($disciplineExclusion);
  803.             $disciplineExclusion->setYear($this);
  804.         }
  805.         return $this;
  806.     }
  807.     public function removeDisciplineExclusion(DisciplineExclusion $disciplineExclusion): static
  808.     {
  809.         if ($this->disciplineExclusions->removeElement($disciplineExclusion)) {
  810.             // set the owning side to null (unless already changed)
  811.             if ($disciplineExclusion->getYear() === $this) {
  812.                 $disciplineExclusion->setYear(null);
  813.             }
  814.         }
  815.         return $this;
  816.     }
  817.     /**
  818.      * @return Collection<int, ParentNote>
  819.      */
  820.     public function getParentNotes(): Collection
  821.     {
  822.         return $this->parentNotes;
  823.     }
  824.     public function addParentNote(ParentNote $parentNote): static
  825.     {
  826.         if (!$this->parentNotes->contains($parentNote)) {
  827.             $this->parentNotes->add($parentNote);
  828.             $parentNote->setYear($this);
  829.         }
  830.         return $this;
  831.     }
  832.     public function removeParentNote(ParentNote $parentNote): static
  833.     {
  834.         if ($this->parentNotes->removeElement($parentNote)) {
  835.             // set the owning side to null (unless already changed)
  836.             if ($parentNote->getYear() === $this) {
  837.                 $parentNote->setYear(null);
  838.             }
  839.         }
  840.         return $this;
  841.     }
  842.     /**
  843.      * @return Collection<int, JustifyAbsence>
  844.      */
  845.     public function getJustifyAbsences(): Collection
  846.     {
  847.         return $this->justifyAbsences;
  848.     }
  849.     public function addJustifyAbsence(JustifyAbsence $justifyAbsence): static
  850.     {
  851.         if (!$this->justifyAbsences->contains($justifyAbsence)) {
  852.             $this->justifyAbsences->add($justifyAbsence);
  853.             $justifyAbsence->setYear($this);
  854.         }
  855.         return $this;
  856.     }
  857.     public function removeJustifyAbsence(JustifyAbsence $justifyAbsence): static
  858.     {
  859.         if ($this->justifyAbsences->removeElement($justifyAbsence)) {
  860.             // set the owning side to null (unless already changed)
  861.             if ($justifyAbsence->getYear() === $this) {
  862.                 $justifyAbsence->setYear(null);
  863.             }
  864.         }
  865.         return $this;
  866.     }
  867.     /**
  868.      * @return Collection<int, Subject>
  869.      */
  870.     public function getSubjects(): Collection
  871.     {
  872.         return $this->subjects;
  873.     }
  874.     public function addSubject(Subject $subject): static
  875.     {
  876.         if (!$this->subjects->contains($subject)) {
  877.             $this->subjects->add($subject);
  878.             $subject->setYear($this);
  879.         }
  880.         return $this;
  881.     }
  882.     public function removeSubject(Subject $subject): static
  883.     {
  884.         if ($this->subjects->removeElement($subject)) {
  885.             // set the owning side to null (unless already changed)
  886.             if ($subject->getYear() === $this) {
  887.                 $subject->setYear(null);
  888.             }
  889.         }
  890.         return $this;
  891.     }
  892.     /**
  893.      * @return Collection<int, AbsenceRetainedConfig>
  894.      */
  895.     public function getAbsenceRetainedConfigs(): Collection
  896.     {
  897.         return $this->absenceRetainedConfigs;
  898.     }
  899.     public function addAbsenceRetainedConfig(AbsenceRetainedConfig $absenceRetainedConfig): static
  900.     {
  901.         if (!$this->absenceRetainedConfigs->contains($absenceRetainedConfig)) {
  902.             $this->absenceRetainedConfigs->add($absenceRetainedConfig);
  903.             $absenceRetainedConfig->setYear($this);
  904.         }
  905.         return $this;
  906.     }
  907.     public function removeAbsenceRetainedConfig(AbsenceRetainedConfig $absenceRetainedConfig): static
  908.     {
  909.         if ($this->absenceRetainedConfigs->removeElement($absenceRetainedConfig)) {
  910.             // set the owning side to null (unless already changed)
  911.             if ($absenceRetainedConfig->getYear() === $this) {
  912.                 $absenceRetainedConfig->setYear(null);
  913.             }
  914.         }
  915.         return $this;
  916.     }
  917.     /**
  918.      * @return Collection<int, AbsenceWarningConfig>
  919.      */
  920.     public function getAbsenceWarningConfigs(): Collection
  921.     {
  922.         return $this->absenceWarningConfigs;
  923.     }
  924.     public function addAbsenceWarningConfig(AbsenceWarningConfig $absenceWarningConfig): static
  925.     {
  926.         if (!$this->absenceWarningConfigs->contains($absenceWarningConfig)) {
  927.             $this->absenceWarningConfigs->add($absenceWarningConfig);
  928.             $absenceWarningConfig->setYear($this);
  929.         }
  930.         return $this;
  931.     }
  932.     public function removeAbsenceWarningConfig(AbsenceWarningConfig $absenceWarningConfig): static
  933.     {
  934.         if ($this->absenceWarningConfigs->removeElement($absenceWarningConfig)) {
  935.             // set the owning side to null (unless already changed)
  936.             if ($absenceWarningConfig->getYear() === $this) {
  937.                 $absenceWarningConfig->setYear(null);
  938.             }
  939.         }
  940.         return $this;
  941.     }
  942.     /**
  943.      * @return Collection<int, AbsenceExclusionConfig>
  944.      */
  945.     public function getAbsenceExclusionConfigs(): Collection
  946.     {
  947.         return $this->absenceExclusionConfigs;
  948.     }
  949.     public function addAbsenceExclusionConfig(AbsenceExclusionConfig $absenceExclusionConfig): static
  950.     {
  951.         if (!$this->absenceExclusionConfigs->contains($absenceExclusionConfig)) {
  952.             $this->absenceExclusionConfigs->add($absenceExclusionConfig);
  953.             $absenceExclusionConfig->setYear($this);
  954.         }
  955.         return $this;
  956.     }
  957.     public function removeAbsenceExclusionConfig(AbsenceExclusionConfig $absenceExclusionConfig): static
  958.     {
  959.         if ($this->absenceExclusionConfigs->removeElement($absenceExclusionConfig)) {
  960.             // set the owning side to null (unless already changed)
  961.             if ($absenceExclusionConfig->getYear() === $this) {
  962.                 $absenceExclusionConfig->setYear(null);
  963.             }
  964.         }
  965.         return $this;
  966.     }
  967.     /**
  968.      * @return Collection<int, AbsenceBlameConfig>
  969.      */
  970.     public function getAbsenceBlameConfigs(): Collection
  971.     {
  972.         return $this->absenceBlameConfigs;
  973.     }
  974.     public function addAbsenceBlameConfig(AbsenceBlameConfig $absenceBlameConfig): static
  975.     {
  976.         if (!$this->absenceBlameConfigs->contains($absenceBlameConfig)) {
  977.             $this->absenceBlameConfigs->add($absenceBlameConfig);
  978.             $absenceBlameConfig->setYear($this);
  979.         }
  980.         return $this;
  981.     }
  982.     public function removeAbsenceBlameConfig(AbsenceBlameConfig $absenceBlameConfig): static
  983.     {
  984.         if ($this->absenceBlameConfigs->removeElement($absenceBlameConfig)) {
  985.             // set the owning side to null (unless already changed)
  986.             if ($absenceBlameConfig->getYear() === $this) {
  987.                 $absenceBlameConfig->setYear(null);
  988.             }
  989.         }
  990.         return $this;
  991.     }
  992.     /**
  993.      * @return Collection<int, DisciplineRetained>
  994.      */
  995.     public function getDisciplineRetaineds(): Collection
  996.     {
  997.         return $this->disciplineRetaineds;
  998.     }
  999.     public function addDisciplineRetained(DisciplineRetained $disciplineRetained): static
  1000.     {
  1001.         if (!$this->disciplineRetaineds->contains($disciplineRetained)) {
  1002.             $this->disciplineRetaineds->add($disciplineRetained);
  1003.             $disciplineRetained->setYear($this);
  1004.         }
  1005.         return $this;
  1006.     }
  1007.     public function removeDisciplineRetained(DisciplineRetained $disciplineRetained): static
  1008.     {
  1009.         if ($this->disciplineRetaineds->removeElement($disciplineRetained)) {
  1010.             // set the owning side to null (unless already changed)
  1011.             if ($disciplineRetained->getYear() === $this) {
  1012.                 $disciplineRetained->setYear(null);
  1013.             }
  1014.         }
  1015.         return $this;
  1016.     }
  1017.     /**
  1018.      * @return Collection<int, DefinitiveExclusion>
  1019.      */
  1020.     public function getDefinitiveExclusions(): Collection
  1021.     {
  1022.         return $this->definitiveExclusions;
  1023.     }
  1024.     public function addDefinitiveExclusion(DefinitiveExclusion $definitiveExclusion): static
  1025.     {
  1026.         if (!$this->definitiveExclusions->contains($definitiveExclusion)) {
  1027.             $this->definitiveExclusions->add($definitiveExclusion);
  1028.             $definitiveExclusion->setYear($this);
  1029.         }
  1030.         return $this;
  1031.     }
  1032.     public function removeDefinitiveExclusion(DefinitiveExclusion $definitiveExclusion): static
  1033.     {
  1034.         if ($this->definitiveExclusions->removeElement($definitiveExclusion)) {
  1035.             // set the owning side to null (unless already changed)
  1036.             if ($definitiveExclusion->getYear() === $this) {
  1037.                 $definitiveExclusion->setYear(null);
  1038.             }
  1039.         }
  1040.         return $this;
  1041.     }
  1042.     /**
  1043.      * @return Collection<int, DisciplineConcile>
  1044.      */
  1045.     public function getDisciplineConciles(): Collection
  1046.     {
  1047.         return $this->disciplineConciles;
  1048.     }
  1049.     public function addDisciplineConcile(DisciplineConcile $disciplineConcile): static
  1050.     {
  1051.         if (!$this->disciplineConciles->contains($disciplineConcile)) {
  1052.             $this->disciplineConciles->add($disciplineConcile);
  1053.             $disciplineConcile->setYear($this);
  1054.         }
  1055.         return $this;
  1056.     }
  1057.     public function removeDisciplineConcile(DisciplineConcile $disciplineConcile): static
  1058.     {
  1059.         if ($this->disciplineConciles->removeElement($disciplineConcile)) {
  1060.             // set the owning side to null (unless already changed)
  1061.             if ($disciplineConcile->getYear() === $this) {
  1062.                 $disciplineConcile->setYear(null);
  1063.             }
  1064.         }
  1065.         return $this;
  1066.     }
  1067.     /**
  1068.      * @return Collection<int, AbsenceDisciplineConcileConfig>
  1069.      */
  1070.     public function getAbsenceDisciplineConcileConfigs(): Collection
  1071.     {
  1072.         return $this->absenceDisciplineConcileConfigs;
  1073.     }
  1074.     public function addAbsenceDisciplineConcileConfig(AbsenceDisciplineConcileConfig $absenceDisciplineConcileConfig): static
  1075.     {
  1076.         if (!$this->absenceDisciplineConcileConfigs->contains($absenceDisciplineConcileConfig)) {
  1077.             $this->absenceDisciplineConcileConfigs->add($absenceDisciplineConcileConfig);
  1078.             $absenceDisciplineConcileConfig->setYear($this);
  1079.         }
  1080.         return $this;
  1081.     }
  1082.     public function removeAbsenceDisciplineConcileConfig(AbsenceDisciplineConcileConfig $absenceDisciplineConcileConfig): static
  1083.     {
  1084.         if ($this->absenceDisciplineConcileConfigs->removeElement($absenceDisciplineConcileConfig)) {
  1085.             // set the owning side to null (unless already changed)
  1086.             if ($absenceDisciplineConcileConfig->getYear() === $this) {
  1087.                 $absenceDisciplineConcileConfig->setYear(null);
  1088.             }
  1089.         }
  1090.         return $this;
  1091.     }
  1092.     /**
  1093.      * @return Collection<int, WarningBlameConfig>
  1094.      */
  1095.     public function getWarningBlameConfigs(): Collection
  1096.     {
  1097.         return $this->warningBlameConfigs;
  1098.     }
  1099.     public function addWarningBlameConfig(WarningBlameConfig $warningBlameConfig): static
  1100.     {
  1101.         if (!$this->warningBlameConfigs->contains($warningBlameConfig)) {
  1102.             $this->warningBlameConfigs->add($warningBlameConfig);
  1103.             $warningBlameConfig->setYear($this);
  1104.         }
  1105.         return $this;
  1106.     }
  1107.     public function removeWarningBlameConfig(WarningBlameConfig $warningBlameConfig): static
  1108.     {
  1109.         if ($this->warningBlameConfigs->removeElement($warningBlameConfig)) {
  1110.             // set the owning side to null (unless already changed)
  1111.             if ($warningBlameConfig->getYear() === $this) {
  1112.                 $warningBlameConfig->setYear(null);
  1113.             }
  1114.         }
  1115.         return $this;
  1116.     }
  1117.     /**
  1118.      * @return Collection<int, WarningDefinitiveExlusionConfig>
  1119.      */
  1120.     public function getWarningDefinitiveExlusionConfigs(): Collection
  1121.     {
  1122.         return $this->warningDefinitiveExlusionConfigs;
  1123.     }
  1124.     public function addWarningDefinitiveExlusionConfig(WarningDefinitiveExlusionConfig $warningDefinitiveExlusionConfig): static
  1125.     {
  1126.         if (!$this->warningDefinitiveExlusionConfigs->contains($warningDefinitiveExlusionConfig)) {
  1127.             $this->warningDefinitiveExlusionConfigs->add($warningDefinitiveExlusionConfig);
  1128.             $warningDefinitiveExlusionConfig->setYear($this);
  1129.         }
  1130.         return $this;
  1131.     }
  1132.     public function removeWarningDefinitiveExlusionConfig(WarningDefinitiveExlusionConfig $warningDefinitiveExlusionConfig): static
  1133.     {
  1134.         if ($this->warningDefinitiveExlusionConfigs->removeElement($warningDefinitiveExlusionConfig)) {
  1135.             // set the owning side to null (unless already changed)
  1136.             if ($warningDefinitiveExlusionConfig->getYear() === $this) {
  1137.                 $warningDefinitiveExlusionConfig->setYear(null);
  1138.             }
  1139.         }
  1140.         return $this;
  1141.     }
  1142.     /**
  1143.      * @return Collection<int, PrimaryParentNote>
  1144.      */
  1145.     public function getPrimaryParentNotes(): Collection
  1146.     {
  1147.         return $this->primaryParentNotes;
  1148.     }
  1149.     public function addPrimaryParentNote(PrimaryParentNote $primaryParentNote): static
  1150.     {
  1151.         if (!$this->primaryParentNotes->contains($primaryParentNote)) {
  1152.             $this->primaryParentNotes->add($primaryParentNote);
  1153.             $primaryParentNote->setYear($this);
  1154.         }
  1155.         return $this;
  1156.     }
  1157.     public function removePrimaryParentNote(PrimaryParentNote $primaryParentNote): static
  1158.     {
  1159.         if ($this->primaryParentNotes->removeElement($primaryParentNote)) {
  1160.             // set the owning side to null (unless already changed)
  1161.             if ($primaryParentNote->getYear() === $this) {
  1162.                 $primaryParentNote->setYear(null);
  1163.             }
  1164.         }
  1165.         return $this;
  1166.     }
  1167.     /**
  1168.      * @return Collection<int, PrimaryNote>
  1169.      */
  1170.     public function getPrimaryNotes(): Collection
  1171.     {
  1172.         return $this->primaryNotes;
  1173.     }
  1174.     public function addPrimaryNote(PrimaryNote $primaryNote): static
  1175.     {
  1176.         if (!$this->primaryNotes->contains($primaryNote)) {
  1177.             $this->primaryNotes->add($primaryNote);
  1178.             $primaryNote->setYear($this);
  1179.         }
  1180.         return $this;
  1181.     }
  1182.     public function removePrimaryNote(PrimaryNote $primaryNote): static
  1183.     {
  1184.         if ($this->primaryNotes->removeElement($primaryNote)) {
  1185.             // set the owning side to null (unless already changed)
  1186.             if ($primaryNote->getYear() === $this) {
  1187.                 $primaryNote->setYear(null);
  1188.             }
  1189.         }
  1190.         return $this;
  1191.     }
  1192.     /**
  1193.      * @return Collection<int, VerbalProcessCategory>
  1194.      */
  1195.     public function getVerbalProcessCategories(): Collection
  1196.     {
  1197.         return $this->verbalProcessCategories;
  1198.     }
  1199.     public function addVerbalProcessCategory(VerbalProcessCategory $verbalProcessCategory): static
  1200.     {
  1201.         if (!$this->verbalProcessCategories->contains($verbalProcessCategory)) {
  1202.             $this->verbalProcessCategories->add($verbalProcessCategory);
  1203.             $verbalProcessCategory->setYear($this);
  1204.         }
  1205.         return $this;
  1206.     }
  1207.     public function removeVerbalProcessCategory(VerbalProcessCategory $verbalProcessCategory): static
  1208.     {
  1209.         if ($this->verbalProcessCategories->removeElement($verbalProcessCategory)) {
  1210.             // set the owning side to null (unless already changed)
  1211.             if ($verbalProcessCategory->getYear() === $this) {
  1212.                 $verbalProcessCategory->setYear(null);
  1213.             }
  1214.         }
  1215.         return $this;
  1216.     }
  1217.     /**
  1218.      * @return Collection<int, GlobalDisciplineConfig>
  1219.      */
  1220.     public function getGlobalDisciplineConfigs(): Collection
  1221.     {
  1222.         return $this->globalDisciplineConfigs;
  1223.     }
  1224.     public function addGlobalDisciplineConfig(GlobalDisciplineConfig $globalDisciplineConfig): static
  1225.     {
  1226.         if (!$this->globalDisciplineConfigs->contains($globalDisciplineConfig)) {
  1227.             $this->globalDisciplineConfigs->add($globalDisciplineConfig);
  1228.             $globalDisciplineConfig->setYear($this);
  1229.         }
  1230.         return $this;
  1231.     }
  1232.     public function removeGlobalDisciplineConfig(GlobalDisciplineConfig $globalDisciplineConfig): static
  1233.     {
  1234.         if ($this->globalDisciplineConfigs->removeElement($globalDisciplineConfig)) {
  1235.             // set the owning side to null (unless already changed)
  1236.             if ($globalDisciplineConfig->getYear() === $this) {
  1237.                 $globalDisciplineConfig->setYear(null);
  1238.             }
  1239.         }
  1240.         return $this;
  1241.     }
  1242.     /**
  1243.      * @return Collection<int, DisciplinePunish>
  1244.      */
  1245.     public function getDisciplinePunishes(): Collection
  1246.     {
  1247.         return $this->disciplinePunishes;
  1248.     }
  1249.     public function addDisciplinePunish(DisciplinePunish $disciplinePunish): static
  1250.     {
  1251.         if (!$this->disciplinePunishes->contains($disciplinePunish)) {
  1252.             $this->disciplinePunishes->add($disciplinePunish);
  1253.             $disciplinePunish->setYear($this);
  1254.         }
  1255.         return $this;
  1256.     }
  1257.     public function removeDisciplinePunish(DisciplinePunish $disciplinePunish): static
  1258.     {
  1259.         if ($this->disciplinePunishes->removeElement($disciplinePunish)) {
  1260.             // set the owning side to null (unless already changed)
  1261.             if ($disciplinePunish->getYear() === $this) {
  1262.                 $disciplinePunish->setYear(null);
  1263.             }
  1264.         }
  1265.         return $this;
  1266.     }
  1267.     /**
  1268.      * @return Collection<int, GlobalDisciplineEnabledConfig>
  1269.      */
  1270.     public function getGlobalDisciplineEnabledConfigs(): Collection
  1271.     {
  1272.         return $this->globalDisciplineEnabledConfigs;
  1273.     }
  1274.     public function addGlobalDisciplineEnabledConfig(GlobalDisciplineEnabledConfig $globalDisciplineEnabledConfig): static
  1275.     {
  1276.         if (!$this->globalDisciplineEnabledConfigs->contains($globalDisciplineEnabledConfig)) {
  1277.             $this->globalDisciplineEnabledConfigs->add($globalDisciplineEnabledConfig);
  1278.             $globalDisciplineEnabledConfig->setYear($this);
  1279.         }
  1280.         return $this;
  1281.     }
  1282.     public function removeGlobalDisciplineEnabledConfig(GlobalDisciplineEnabledConfig $globalDisciplineEnabledConfig): static
  1283.     {
  1284.         if ($this->globalDisciplineEnabledConfigs->removeElement($globalDisciplineEnabledConfig)) {
  1285.             // set the owning side to null (unless already changed)
  1286.             if ($globalDisciplineEnabledConfig->getYear() === $this) {
  1287.                 $globalDisciplineEnabledConfig->setYear(null);
  1288.             }
  1289.         }
  1290.         return $this;
  1291.     }
  1292.     /**
  1293.      * @return Collection<int, BlamePunishConfig>
  1294.      */
  1295.     public function getBlamePunishConfigs(): Collection
  1296.     {
  1297.         return $this->blamePunishConfigs;
  1298.     }
  1299.     public function addBlamePunishConfig(BlamePunishConfig $blamePunishConfig): static
  1300.     {
  1301.         if (!$this->blamePunishConfigs->contains($blamePunishConfig)) {
  1302.             $this->blamePunishConfigs->add($blamePunishConfig);
  1303.             $blamePunishConfig->setYear($this);
  1304.         }
  1305.         return $this;
  1306.     }
  1307.     public function removeBlamePunishConfig(BlamePunishConfig $blamePunishConfig): static
  1308.     {
  1309.         if ($this->blamePunishConfigs->removeElement($blamePunishConfig)) {
  1310.             // set the owning side to null (unless already changed)
  1311.             if ($blamePunishConfig->getYear() === $this) {
  1312.                 $blamePunishConfig->setYear(null);
  1313.             }
  1314.         }
  1315.         return $this;
  1316.     }
  1317.     /**
  1318.      * @return Collection<int, AbsencePunishConfig>
  1319.      */
  1320.     public function getAbsencePunishConfigs(): Collection
  1321.     {
  1322.         return $this->absencePunishConfigs;
  1323.     }
  1324.     public function addAbsencePunishConfig(AbsencePunishConfig $absencePunishConfig): static
  1325.     {
  1326.         if (!$this->absencePunishConfigs->contains($absencePunishConfig)) {
  1327.             $this->absencePunishConfigs->add($absencePunishConfig);
  1328.             $absencePunishConfig->setYear($this);
  1329.         }
  1330.         return $this;
  1331.     }
  1332.     public function removeAbsencePunishConfig(AbsencePunishConfig $absencePunishConfig): static
  1333.     {
  1334.         if ($this->absencePunishConfigs->removeElement($absencePunishConfig)) {
  1335.             // set the owning side to null (unless already changed)
  1336.             if ($absencePunishConfig->getYear() === $this) {
  1337.                 $absencePunishConfig->setYear(null);
  1338.             }
  1339.         }
  1340.         return $this;
  1341.     }
  1342.     /**
  1343.      * @return Collection<int, WarningPunishConfig>
  1344.      */
  1345.     public function getWarningPunishConfigs(): Collection
  1346.     {
  1347.         return $this->warningPunishConfigs;
  1348.     }
  1349.     public function addWarningPunishConfig(WarningPunishConfig $warningPunishConfig): static
  1350.     {
  1351.         if (!$this->warningPunishConfigs->contains($warningPunishConfig)) {
  1352.             $this->warningPunishConfigs->add($warningPunishConfig);
  1353.             $warningPunishConfig->setYear($this);
  1354.         }
  1355.         return $this;
  1356.     }
  1357.     public function removeWarningPunishConfig(WarningPunishConfig $warningPunishConfig): static
  1358.     {
  1359.         if ($this->warningPunishConfigs->removeElement($warningPunishConfig)) {
  1360.             // set the owning side to null (unless already changed)
  1361.             if ($warningPunishConfig->getYear() === $this) {
  1362.                 $warningPunishConfig->setYear(null);
  1363.             }
  1364.         }
  1365.         return $this;
  1366.     }
  1367.     /**
  1368.      * @return Collection<int, PunishRetainedConfig>
  1369.      */
  1370.     public function getPunishRetainedConfigs(): Collection
  1371.     {
  1372.         return $this->punishRetainedConfigs;
  1373.     }
  1374.     public function addPunishRetainedConfig(PunishRetainedConfig $punishRetainedConfig): static
  1375.     {
  1376.         if (!$this->punishRetainedConfigs->contains($punishRetainedConfig)) {
  1377.             $this->punishRetainedConfigs->add($punishRetainedConfig);
  1378.             $punishRetainedConfig->setYear($this);
  1379.         }
  1380.         return $this;
  1381.     }
  1382.     public function removePunishRetainedConfig(PunishRetainedConfig $punishRetainedConfig): static
  1383.     {
  1384.         if ($this->punishRetainedConfigs->removeElement($punishRetainedConfig)) {
  1385.             // set the owning side to null (unless already changed)
  1386.             if ($punishRetainedConfig->getYear() === $this) {
  1387.                 $punishRetainedConfig->setYear(null);
  1388.             }
  1389.         }
  1390.         return $this;
  1391.     }
  1392.     /**
  1393.      * @return Collection<int, PunishWarningConfig>
  1394.      */
  1395.     public function getPunishWarningConfigs(): Collection
  1396.     {
  1397.         return $this->punishWarningConfigs;
  1398.     }
  1399.     public function addPunishWarningConfig(PunishWarningConfig $punishWarningConfig): static
  1400.     {
  1401.         if (!$this->punishWarningConfigs->contains($punishWarningConfig)) {
  1402.             $this->punishWarningConfigs->add($punishWarningConfig);
  1403.             $punishWarningConfig->setYear($this);
  1404.         }
  1405.         return $this;
  1406.     }
  1407.     public function removePunishWarningConfig(PunishWarningConfig $punishWarningConfig): static
  1408.     {
  1409.         if ($this->punishWarningConfigs->removeElement($punishWarningConfig)) {
  1410.             // set the owning side to null (unless already changed)
  1411.             if ($punishWarningConfig->getYear() === $this) {
  1412.                 $punishWarningConfig->setYear(null);
  1413.             }
  1414.         }
  1415.         return $this;
  1416.     }
  1417.     /**
  1418.      * @return Collection<int, PunishBlameConfig>
  1419.      */
  1420.     public function getPunishBlameConfigs(): Collection
  1421.     {
  1422.         return $this->punishBlameConfigs;
  1423.     }
  1424.     public function addPunishBlameConfig(PunishBlameConfig $punishBlameConfig): static
  1425.     {
  1426.         if (!$this->punishBlameConfigs->contains($punishBlameConfig)) {
  1427.             $this->punishBlameConfigs->add($punishBlameConfig);
  1428.             $punishBlameConfig->setYear($this);
  1429.         }
  1430.         return $this;
  1431.     }
  1432.     public function removePunishBlameConfig(PunishBlameConfig $punishBlameConfig): static
  1433.     {
  1434.         if ($this->punishBlameConfigs->removeElement($punishBlameConfig)) {
  1435.             // set the owning side to null (unless already changed)
  1436.             if ($punishBlameConfig->getYear() === $this) {
  1437.                 $punishBlameConfig->setYear(null);
  1438.             }
  1439.         }
  1440.         return $this;
  1441.     }
  1442.     /**
  1443.      * @return Collection<int, PunishExclusionConfig>
  1444.      */
  1445.     public function getPunishExclusionConfigs(): Collection
  1446.     {
  1447.         return $this->punishExclusionConfigs;
  1448.     }
  1449.     public function addPunishExclusionConfig(PunishExclusionConfig $punishExclusionConfig): static
  1450.     {
  1451.         if (!$this->punishExclusionConfigs->contains($punishExclusionConfig)) {
  1452.             $this->punishExclusionConfigs->add($punishExclusionConfig);
  1453.             $punishExclusionConfig->setYear($this);
  1454.         }
  1455.         return $this;
  1456.     }
  1457.     public function removePunishExclusionConfig(PunishExclusionConfig $punishExclusionConfig): static
  1458.     {
  1459.         if ($this->punishExclusionConfigs->removeElement($punishExclusionConfig)) {
  1460.             // set the owning side to null (unless already changed)
  1461.             if ($punishExclusionConfig->getYear() === $this) {
  1462.                 $punishExclusionConfig->setYear(null);
  1463.             }
  1464.         }
  1465.         return $this;
  1466.     }
  1467.     public function getNameEn(): ?string
  1468.     {
  1469.         return $this->nameEn;
  1470.     }
  1471.     public function setNameEn(string $nameEn): static
  1472.     {
  1473.         $this->nameEn $nameEn;
  1474.         return $this;
  1475.     }
  1476.     /**
  1477.      * @return Collection<int, SchoolYearInfos>
  1478.      */
  1479.     public function getSchoolYearInfos(): Collection
  1480.     {
  1481.         return $this->schoolYearInfos;
  1482.     }
  1483.     public function addSchoolYearInfo(SchoolYearInfos $schoolYearInfo): static
  1484.     {
  1485.         if (!$this->schoolYearInfos->contains($schoolYearInfo)) {
  1486.             $this->schoolYearInfos->add($schoolYearInfo);
  1487.             $schoolYearInfo->setYear($this);
  1488.         }
  1489.         return $this;
  1490.     }
  1491.     public function removeSchoolYearInfo(SchoolYearInfos $schoolYearInfo): static
  1492.     {
  1493.         if ($this->schoolYearInfos->removeElement($schoolYearInfo)) {
  1494.             // set the owning side to null (unless already changed)
  1495.             if ($schoolYearInfo->getYear() === $this) {
  1496.                 $schoolYearInfo->setYear(null);
  1497.             }
  1498.         }
  1499.         return $this;
  1500.     }
  1501.     /**
  1502.      * @return Collection<int, Blame>
  1503.      */
  1504.     public function getBlames(): Collection
  1505.     {
  1506.         return $this->blames;
  1507.     }
  1508.     public function addBlame(Blame $blame): static
  1509.     {
  1510.         if (!$this->blames->contains($blame)) {
  1511.             $this->blames->add($blame);
  1512.             $blame->setYear($this);
  1513.         }
  1514.         return $this;
  1515.     }
  1516.     public function removeBlame(Blame $blame): static
  1517.     {
  1518.         if ($this->blames->removeElement($blame)) {
  1519.             // set the owning side to null (unless already changed)
  1520.             if ($blame->getYear() === $this) {
  1521.                 $blame->setYear(null);
  1522.             }
  1523.         }
  1524.         return $this;
  1525.     }
  1526.     /**
  1527.      * @return Collection<int, Warning>
  1528.      */
  1529.     public function getWarnings(): Collection
  1530.     {
  1531.         return $this->warnings;
  1532.     }
  1533.     public function addWarning(Warning $warning): static
  1534.     {
  1535.         if (!$this->warnings->contains($warning)) {
  1536.             $this->warnings->add($warning);
  1537.             $warning->setYear($this);
  1538.         }
  1539.         return $this;
  1540.     }
  1541.     public function removeWarning(Warning $warning): static
  1542.     {
  1543.         if ($this->warnings->removeElement($warning)) {
  1544.             // set the owning side to null (unless already changed)
  1545.             if ($warning->getYear() === $this) {
  1546.                 $warning->setYear(null);
  1547.             }
  1548.         }
  1549.         return $this;
  1550.     }
  1551.     /**
  1552.      * @return Collection<int, Retained>
  1553.      */
  1554.     public function getRetaineds(): Collection
  1555.     {
  1556.         return $this->retaineds;
  1557.     }
  1558.     public function addRetained(Retained $retained): static
  1559.     {
  1560.         if (!$this->retaineds->contains($retained)) {
  1561.             $this->retaineds->add($retained);
  1562.             $retained->setYear($this);
  1563.         }
  1564.         return $this;
  1565.     }
  1566.     public function removeRetained(Retained $retained): static
  1567.     {
  1568.         if ($this->retaineds->removeElement($retained)) {
  1569.             // set the owning side to null (unless already changed)
  1570.             if ($retained->getYear() === $this) {
  1571.                 $retained->setYear(null);
  1572.             }
  1573.         }
  1574.         return $this;
  1575.     }
  1576.     /**
  1577.      * @return Collection<int, HonnorTableLimitMoy>
  1578.      */
  1579.     public function getHonnorTableLimitMoys(): Collection
  1580.     {
  1581.         return $this->honnorTableLimitMoys;
  1582.     }
  1583.     public function addHonnorTableLimitMoy(HonnorTableLimitMoy $honnorTableLimitMoy): static
  1584.     {
  1585.         if (!$this->honnorTableLimitMoys->contains($honnorTableLimitMoy)) {
  1586.             $this->honnorTableLimitMoys->add($honnorTableLimitMoy);
  1587.             $honnorTableLimitMoy->setYear($this);
  1588.         }
  1589.         return $this;
  1590.     }
  1591.     public function removeHonnorTableLimitMoy(HonnorTableLimitMoy $honnorTableLimitMoy): static
  1592.     {
  1593.         if ($this->honnorTableLimitMoys->removeElement($honnorTableLimitMoy)) {
  1594.             // set the owning side to null (unless already changed)
  1595.             if ($honnorTableLimitMoy->getYear() === $this) {
  1596.                 $honnorTableLimitMoy->setYear(null);
  1597.             }
  1598.         }
  1599.         return $this;
  1600.     }
  1601.     /**
  1602.      * @return Collection<int, News>
  1603.      */
  1604.     public function getNews(): Collection
  1605.     {
  1606.         return $this->news;
  1607.     }
  1608.     public function addNews(News $news): static
  1609.     {
  1610.         if (!$this->news->contains($news)) {
  1611.             $this->news->add($news);
  1612.             $news->setYear($this);
  1613.         }
  1614.         return $this;
  1615.     }
  1616.     public function removeNews(News $news): static
  1617.     {
  1618.         if ($this->news->removeElement($news)) {
  1619.             // set the owning side to null (unless already changed)
  1620.             if ($news->getYear() === $this) {
  1621.                 $news->setYear(null);
  1622.             }
  1623.         }
  1624.         return $this;
  1625.     }
  1626.     /**
  1627.      * @return Collection<int, Event>
  1628.      */
  1629.     public function getEvents(): Collection
  1630.     {
  1631.         return $this->events;
  1632.     }
  1633.     public function addEvent(Event $event): static
  1634.     {
  1635.         if (!$this->events->contains($event)) {
  1636.             $this->events->add($event);
  1637.             $event->setYear($this);
  1638.         }
  1639.         return $this;
  1640.     }
  1641.     public function removeEvent(Event $event): static
  1642.     {
  1643.         if ($this->events->removeElement($event)) {
  1644.             // set the owning side to null (unless already changed)
  1645.             if ($event->getYear() === $this) {
  1646.                 $event->setYear(null);
  1647.             }
  1648.         }
  1649.         return $this;
  1650.     }
  1651.     /**
  1652.      * @return Collection<int, AdmissionLimit>
  1653.      */
  1654.     public function getAdmissionLimits(): Collection
  1655.     {
  1656.         return $this->admissionLimits;
  1657.     }
  1658.     public function addAdmissionLimit(AdmissionLimit $admissionLimit): static
  1659.     {
  1660.         if (!$this->admissionLimits->contains($admissionLimit)) {
  1661.             $this->admissionLimits->add($admissionLimit);
  1662.             $admissionLimit->setYear($this);
  1663.         }
  1664.         return $this;
  1665.     }
  1666.     public function removeAdmissionLimit(AdmissionLimit $admissionLimit): static
  1667.     {
  1668.         if ($this->admissionLimits->removeElement($admissionLimit)) {
  1669.             // set the owning side to null (unless already changed)
  1670.             if ($admissionLimit->getYear() === $this) {
  1671.                 $admissionLimit->setYear(null);
  1672.             }
  1673.         }
  1674.         return $this;
  1675.     }
  1676.     /**
  1677.      * @return Collection<int, AgendaDay>
  1678.      */
  1679.     public function getAgendaDays(): Collection
  1680.     {
  1681.         return $this->agendaDays;
  1682.     }
  1683.     public function addAgendaDay(AgendaDay $agendaDay): static
  1684.     {
  1685.         if (!$this->agendaDays->contains($agendaDay)) {
  1686.             $this->agendaDays->add($agendaDay);
  1687.             $agendaDay->setYear($this);
  1688.         }
  1689.         return $this;
  1690.     }
  1691.     public function removeAgendaDay(AgendaDay $agendaDay): static
  1692.     {
  1693.         if ($this->agendaDays->removeElement($agendaDay)) {
  1694.             // set the owning side to null (unless already changed)
  1695.             if ($agendaDay->getYear() === $this) {
  1696.                 $agendaDay->setYear(null);
  1697.             }
  1698.         }
  1699.         return $this;
  1700.     }
  1701.     public function getAgendaTimeConvertion(): ?AgendaTimeConvertion
  1702.     {
  1703.         return $this->agendaTimeConvertion;
  1704.     }
  1705.     public function setAgendaTimeConvertion(AgendaTimeConvertion $agendaTimeConvertion): static
  1706.     {
  1707.         // set the owning side of the relation if necessary
  1708.         if ($agendaTimeConvertion->getYear() !== $this) {
  1709.             $agendaTimeConvertion->setYear($this);
  1710.         }
  1711.         $this->agendaTimeConvertion $agendaTimeConvertion;
  1712.         return $this;
  1713.     }
  1714.     /**
  1715.      * @return Collection<int, ExamWeek>
  1716.      */
  1717.     public function getExamWeeks(): Collection
  1718.     {
  1719.         return $this->examWeeks;
  1720.     }
  1721.     public function addExamWeek(ExamWeek $examWeek): static
  1722.     {
  1723.         if (!$this->examWeeks->contains($examWeek)) {
  1724.             $this->examWeeks->add($examWeek);
  1725.             $examWeek->setYear($this);
  1726.         }
  1727.         return $this;
  1728.     }
  1729.     public function removeExamWeek(ExamWeek $examWeek): static
  1730.     {
  1731.         if ($this->examWeeks->removeElement($examWeek)) {
  1732.             // set the owning side to null (unless already changed)
  1733.             if ($examWeek->getYear() === $this) {
  1734.                 $examWeek->setYear(null);
  1735.             }
  1736.         }
  1737.         return $this;
  1738.     }
  1739.     /**
  1740.      * @return Collection<int, Competence>
  1741.      */
  1742.     public function getCompetences(): Collection
  1743.     {
  1744.         return $this->competences;
  1745.     }
  1746.     public function addCompetence(Competence $competence): static
  1747.     {
  1748.         if (!$this->competences->contains($competence)) {
  1749.             $this->competences->add($competence);
  1750.             $competence->setYear($this);
  1751.         }
  1752.         return $this;
  1753.     }
  1754.     public function removeCompetence(Competence $competence): static
  1755.     {
  1756.         if ($this->competences->removeElement($competence)) {
  1757.             // set the owning side to null (unless already changed)
  1758.             if ($competence->getYear() === $this) {
  1759.                 $competence->setYear(null);
  1760.             }
  1761.         }
  1762.         return $this;
  1763.     }
  1764.     /**
  1765.      * @return Collection<int, WeekSubjectGoal>
  1766.      */
  1767.     public function getWeekSubjectGoals(): Collection
  1768.     {
  1769.         return $this->weekSubjectGoals;
  1770.     }
  1771.     public function addWeekSubjectGoal(WeekSubjectGoal $weekSubjectGoal): static
  1772.     {
  1773.         if (!$this->weekSubjectGoals->contains($weekSubjectGoal)) {
  1774.             $this->weekSubjectGoals->add($weekSubjectGoal);
  1775.             $weekSubjectGoal->setYear($this);
  1776.         }
  1777.         return $this;
  1778.     }
  1779.     public function removeWeekSubjectGoal(WeekSubjectGoal $weekSubjectGoal): static
  1780.     {
  1781.         if ($this->weekSubjectGoals->removeElement($weekSubjectGoal)) {
  1782.             // set the owning side to null (unless already changed)
  1783.             if ($weekSubjectGoal->getYear() === $this) {
  1784.                 $weekSubjectGoal->setYear(null);
  1785.             }
  1786.         }
  1787.         return $this;
  1788.     }
  1789.     /**
  1790.      * @return Collection<int, ProfSchoolPlanner>
  1791.      */
  1792.     public function getProfSchoolPlanners(): Collection
  1793.     {
  1794.         return $this->profSchoolPlanners;
  1795.     }
  1796.     public function addProfSchoolPlanner(ProfSchoolPlanner $profSchoolPlanner): static
  1797.     {
  1798.         if (!$this->profSchoolPlanners->contains($profSchoolPlanner)) {
  1799.             $this->profSchoolPlanners->add($profSchoolPlanner);
  1800.             $profSchoolPlanner->setYear($this);
  1801.         }
  1802.         return $this;
  1803.     }
  1804.     public function removeProfSchoolPlanner(ProfSchoolPlanner $profSchoolPlanner): static
  1805.     {
  1806.         if ($this->profSchoolPlanners->removeElement($profSchoolPlanner)) {
  1807.             // set the owning side to null (unless already changed)
  1808.             if ($profSchoolPlanner->getYear() === $this) {
  1809.                 $profSchoolPlanner->setYear(null);
  1810.             }
  1811.         }
  1812.         return $this;
  1813.     }
  1814.     /**
  1815.      * @return Collection<int, ProfTime>
  1816.      */
  1817.     public function getProfTimes(): Collection
  1818.     {
  1819.         return $this->profTimes;
  1820.     }
  1821.     public function addProfTime(ProfTime $profTime): static
  1822.     {
  1823.         if (!$this->profTimes->contains($profTime)) {
  1824.             $this->profTimes->add($profTime);
  1825.             $profTime->setYear($this);
  1826.         }
  1827.         return $this;
  1828.     }
  1829.     public function removeProfTime(ProfTime $profTime): static
  1830.     {
  1831.         if ($this->profTimes->removeElement($profTime)) {
  1832.             // set the owning side to null (unless already changed)
  1833.             if ($profTime->getYear() === $this) {
  1834.                 $profTime->setYear(null);
  1835.             }
  1836.         }
  1837.         return $this;
  1838.     }
  1839.     /**
  1840.      * @return Collection<int, SchoolPlannerType>
  1841.      */
  1842.     public function getSchoolPlannerTypes(): Collection
  1843.     {
  1844.         return $this->schoolPlannerTypes;
  1845.     }
  1846.     public function addSchoolPlannerType(SchoolPlannerType $schoolPlannerType): static
  1847.     {
  1848.         if (!$this->schoolPlannerTypes->contains($schoolPlannerType)) {
  1849.             $this->schoolPlannerTypes->add($schoolPlannerType);
  1850.             $schoolPlannerType->setYear($this);
  1851.         }
  1852.         return $this;
  1853.     }
  1854.     public function removeSchoolPlannerType(SchoolPlannerType $schoolPlannerType): static
  1855.     {
  1856.         if ($this->schoolPlannerTypes->removeElement($schoolPlannerType)) {
  1857.             // set the owning side to null (unless already changed)
  1858.             if ($schoolPlannerType->getYear() === $this) {
  1859.                 $schoolPlannerType->setYear(null);
  1860.             }
  1861.         }
  1862.         return $this;
  1863.     }
  1864.     /**
  1865.      * @return Collection<int, AgendaElement>
  1866.      */
  1867.     public function getAgendaElements(): Collection
  1868.     {
  1869.         return $this->agendaElements;
  1870.     }
  1871.     public function addAgendaElement(AgendaElement $agendaElement): static
  1872.     {
  1873.         if (!$this->agendaElements->contains($agendaElement)) {
  1874.             $this->agendaElements->add($agendaElement);
  1875.             $agendaElement->setYear($this);
  1876.         }
  1877.         return $this;
  1878.     }
  1879.     public function removeAgendaElement(AgendaElement $agendaElement): static
  1880.     {
  1881.         if ($this->agendaElements->removeElement($agendaElement)) {
  1882.             // set the owning side to null (unless already changed)
  1883.             if ($agendaElement->getYear() === $this) {
  1884.                 $agendaElement->setYear(null);
  1885.             }
  1886.         }
  1887.         return $this;
  1888.     }
  1889. }