<?php
namespace Proxies\__CG__\App\Entity;
/**
* DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR
*/
class ClassRoom extends \App\Entity\ClassRoom implements \Doctrine\ORM\Proxy\Proxy
{
/**
* @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with
* three parameters, being respectively the proxy object to be initialized, the method that triggered the
* initialization process and an array of ordered parameters that were passed to that method.
*
* @see \Doctrine\Common\Proxy\Proxy::__setInitializer
*/
public $__initializer__;
/**
* @var \Closure the callback responsible of loading properties that need to be copied in the cloned object
*
* @see \Doctrine\Common\Proxy\Proxy::__setCloner
*/
public $__cloner__;
/**
* @var boolean flag indicating if this object was already initialized
*
* @see \Doctrine\Persistence\Proxy::__isInitialized
*/
public $__isInitialized__ = false;
/**
* @var array<string, null> properties to be lazy loaded, indexed by property name
*/
public static $lazyPropertiesNames = array (
);
/**
* @var array<string, mixed> default values of properties to be lazy loaded, with keys being the property names
*
* @see \Doctrine\Common\Proxy\Proxy::__getLazyProperties
*/
public static $lazyPropertiesDefaults = array (
);
public function __construct(?\Closure $initializer = null, ?\Closure $cloner = null)
{
$this->__initializer__ = $initializer;
$this->__cloner__ = $cloner;
}
/**
*
* @return array
*/
public function __sleep()
{
if ($this->__isInitialized__) {
return ['__isInitialized__', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'id', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'name', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'apc', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'modules', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'level', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'mainTeachers', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'subscriptions', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'abscenceSheets'];
}
return ['__isInitialized__', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'id', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'name', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'apc', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'modules', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'level', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'mainTeachers', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'subscriptions', '' . "\0" . 'App\\Entity\\ClassRoom' . "\0" . 'abscenceSheets'];
}
/**
*
*/
public function __wakeup()
{
if ( ! $this->__isInitialized__) {
$this->__initializer__ = function (ClassRoom $proxy) {
$proxy->__setInitializer(null);
$proxy->__setCloner(null);
$existingProperties = get_object_vars($proxy);
foreach ($proxy::$lazyPropertiesDefaults as $property => $defaultValue) {
if ( ! array_key_exists($property, $existingProperties)) {
$proxy->$property = $defaultValue;
}
}
};
}
}
/**
*
*/
public function __clone()
{
$this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []);
}
/**
* Forces initialization of the proxy
*/
public function __load(): void
{
$this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []);
}
/**
* {@inheritDoc}
* @internal generated method: use only when explicitly handling proxy specific loading logic
*/
public function __isInitialized(): bool
{
return $this->__isInitialized__;
}
/**
* {@inheritDoc}
* @internal generated method: use only when explicitly handling proxy specific loading logic
*/
public function __setInitialized($initialized): void
{
$this->__isInitialized__ = $initialized;
}
/**
* {@inheritDoc}
* @internal generated method: use only when explicitly handling proxy specific loading logic
*/
public function __setInitializer(?\Closure $initializer = null): void
{
$this->__initializer__ = $initializer;
}
/**
* {@inheritDoc}
* @internal generated method: use only when explicitly handling proxy specific loading logic
*/
public function __getInitializer(): ?\Closure
{
return $this->__initializer__;
}
/**
* {@inheritDoc}
* @internal generated method: use only when explicitly handling proxy specific loading logic
*/
public function __setCloner(?\Closure $cloner = null): void
{
$this->__cloner__ = $cloner;
}
/**
* {@inheritDoc}
* @internal generated method: use only when explicitly handling proxy specific cloning logic
*/
public function __getCloner(): ?\Closure
{
return $this->__cloner__;
}
/**
* {@inheritDoc}
* @internal generated method: use only when explicitly handling proxy specific loading logic
* @deprecated no longer in use - generated code now relies on internal components rather than generated public API
* @static
*/
public function __getLazyProperties(): array
{
return self::$lazyPropertiesDefaults;
}
/**
* {@inheritDoc}
*/
public function __toString(): string
{
$this->__initializer__ && $this->__initializer__->__invoke($this, '__toString', []);
return parent::__toString();
}
/**
* {@inheritDoc}
*/
public function getId(): ?int
{
if ($this->__isInitialized__ === false) {
return (int) parent::getId();
}
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []);
return parent::getId();
}
/**
* {@inheritDoc}
*/
public function getName(): ?string
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getName', []);
return parent::getName();
}
/**
* {@inheritDoc}
*/
public function setName(string $name): \App\Entity\ClassRoom
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setName', [$name]);
return parent::setName($name);
}
/**
* {@inheritDoc}
*/
public function getApc(): ?bool
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getApc', []);
return parent::getApc();
}
/**
* {@inheritDoc}
*/
public function setApc(bool $apc): \App\Entity\ClassRoom
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setApc', [$apc]);
return parent::setApc($apc);
}
/**
* {@inheritDoc}
*/
public function getModules(): \Doctrine\Common\Collections\Collection
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getModules', []);
return parent::getModules();
}
/**
* {@inheritDoc}
*/
public function addModule(\App\Entity\Module $module): \App\Entity\ClassRoom
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'addModule', [$module]);
return parent::addModule($module);
}
/**
* {@inheritDoc}
*/
public function removeModule(\App\Entity\Module $module): \App\Entity\ClassRoom
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'removeModule', [$module]);
return parent::removeModule($module);
}
/**
* {@inheritDoc}
*/
public function getLevel(): ?\App\Entity\Level
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getLevel', []);
return parent::getLevel();
}
/**
* {@inheritDoc}
*/
public function setLevel(?\App\Entity\Level $level): \App\Entity\ClassRoom
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setLevel', [$level]);
return parent::setLevel($level);
}
/**
* {@inheritDoc}
*/
public function getSubscriptions(): \Doctrine\Common\Collections\Collection
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getSubscriptions', []);
return parent::getSubscriptions();
}
/**
* {@inheritDoc}
*/
public function addSubscription(\App\Entity\Subscription $subscription): \App\Entity\ClassRoom
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'addSubscription', [$subscription]);
return parent::addSubscription($subscription);
}
/**
* {@inheritDoc}
*/
public function removeSubscription(\App\Entity\Subscription $subscription): \App\Entity\ClassRoom
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'removeSubscription', [$subscription]);
return parent::removeSubscription($subscription);
}
/**
* {@inheritDoc}
*/
public function isApc(): ?bool
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'isApc', []);
return parent::isApc();
}
/**
* {@inheritDoc}
*/
public function getAbscenceSheets(): \Doctrine\Common\Collections\Collection
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getAbscenceSheets', []);
return parent::getAbscenceSheets();
}
/**
* {@inheritDoc}
*/
public function addAbscenceSheet(\App\Entity\AbscenceSheet $abscenceSheet): static
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'addAbscenceSheet', [$abscenceSheet]);
return parent::addAbscenceSheet($abscenceSheet);
}
/**
* {@inheritDoc}
*/
public function removeAbscenceSheet(\App\Entity\AbscenceSheet $abscenceSheet): static
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'removeAbscenceSheet', [$abscenceSheet]);
return parent::removeAbscenceSheet($abscenceSheet);
}
/**
* {@inheritDoc}
*/
public function getMainTeacher(\App\Entity\SchoolYear $year): \App\Entity\User
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getMainTeacher', [$year]);
return parent::getMainTeacher($year);
}
/**
* {@inheritDoc}
*/
public function getMainTeachers(): \Doctrine\Common\Collections\Collection
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getMainTeachers', []);
return parent::getMainTeachers();
}
/**
* {@inheritDoc}
*/
public function addMainTeacher(\App\Entity\MainTeacher $mainTeacher): static
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'addMainTeacher', [$mainTeacher]);
return parent::addMainTeacher($mainTeacher);
}
/**
* {@inheritDoc}
*/
public function removeMainTeacher(\App\Entity\MainTeacher $mainTeacher): static
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'removeMainTeacher', [$mainTeacher]);
return parent::removeMainTeacher($mainTeacher);
}
/**
* {@inheritDoc}
*/
public function removeMainTeacherOfYear(\App\Entity\SchoolYear $year): static
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'removeMainTeacherOfYear', [$year]);
return parent::removeMainTeacherOfYear($year);
}
/**
* {@inheritDoc}
*/
public function updateMainTeacherOfYear(\App\Entity\SchoolYear $year, \App\Entity\User $user): static
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'updateMainTeacherOfYear', [$year, $user]);
return parent::updateMainTeacherOfYear($year, $user);
}
}