<?php
namespace Proxies\__CG__\App\Database\Domain\Entity\User;
/**
* DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR
*/
class UserMembership extends \App\Database\Domain\Entity\User\UserMembership 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\\Database\\Domain\\Entity\\User\\UserMembership' . "\0" . 'premiumExpires', '' . "\0" . 'App\\Database\\Domain\\Entity\\User\\UserMembership' . "\0" . 'subscriptionType', '' . "\0" . 'App\\Database\\Domain\\Entity\\User\\UserMembership' . "\0" . 'allowedTrial', '' . "\0" . 'App\\Database\\Domain\\Entity\\User\\UserMembership' . "\0" . 'cancelledSubscription', 'id'];
}
return ['__isInitialized__', '' . "\0" . 'App\\Database\\Domain\\Entity\\User\\UserMembership' . "\0" . 'premiumExpires', '' . "\0" . 'App\\Database\\Domain\\Entity\\User\\UserMembership' . "\0" . 'subscriptionType', '' . "\0" . 'App\\Database\\Domain\\Entity\\User\\UserMembership' . "\0" . 'allowedTrial', '' . "\0" . 'App\\Database\\Domain\\Entity\\User\\UserMembership' . "\0" . 'cancelledSubscription', 'id'];
}
/**
*
*/
public function __wakeup()
{
if ( ! $this->__isInitialized__) {
$this->__initializer__ = function (UserMembership $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 getPremiumExpires(): ?\DateTimeInterface
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getPremiumExpires', []);
return parent::getPremiumExpires();
}
/**
* {@inheritDoc}
*/
public function setPremiumExpires(?\DateTimeInterface $premiumExpires): \App\Database\Domain\Entity\User\UserMembership
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setPremiumExpires', [$premiumExpires]);
return parent::setPremiumExpires($premiumExpires);
}
/**
* {@inheritDoc}
*/
public function getSubscriptionType(): string
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getSubscriptionType', []);
return parent::getSubscriptionType();
}
/**
* {@inheritDoc}
*/
public function setSubscriptionType(string $subscriptionType): \App\Database\Domain\Entity\User\UserMembership
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setSubscriptionType', [$subscriptionType]);
return parent::setSubscriptionType($subscriptionType);
}
/**
* {@inheritDoc}
*/
public function isAllowedTrial(): bool
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'isAllowedTrial', []);
return parent::isAllowedTrial();
}
/**
* {@inheritDoc}
*/
public function setAllowedTrial(bool $allowedTrial): \App\Database\Domain\Entity\User\UserMembership
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setAllowedTrial', [$allowedTrial]);
return parent::setAllowedTrial($allowedTrial);
}
/**
* {@inheritDoc}
*/
public function isCancelledSubscription(): bool
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'isCancelledSubscription', []);
return parent::isCancelledSubscription();
}
/**
* {@inheritDoc}
*/
public function setCancelledSubscription(bool $cancelledSubscription): \App\Database\Domain\Entity\User\UserMembership
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setCancelledSubscription', [$cancelledSubscription]);
return parent::setCancelledSubscription($cancelledSubscription);
}
/**
* {@inheritDoc}
*/
public function isPremium(): bool
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'isPremium', []);
return parent::isPremium();
}
/**
* {@inheritDoc}
*/
public function isMigrationTrial(): bool
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'isMigrationTrial', []);
return parent::isMigrationTrial();
}
/**
* {@inheritDoc}
*/
public function isApple(): bool
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'isApple', []);
return parent::isApple();
}
/**
* {@inheritDoc}
*/
public function isStripeYearly(): bool
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'isStripeYearly', []);
return parent::isStripeYearly();
}
/**
* {@inheritDoc}
*/
public function isStripeMonthly(): bool
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'isStripeMonthly', []);
return parent::isStripeMonthly();
}
/**
* {@inheritDoc}
*/
public function isGift()
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'isGift', []);
return parent::isGift();
}
/**
* {@inheritDoc}
*/
public function isFreeSubscription(): bool
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'isFreeSubscription', []);
return parent::isFreeSubscription();
}
/**
* {@inheritDoc}
*/
public function getId()
{
if ($this->__isInitialized__ === false) {
return parent::getId();
}
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []);
return parent::getId();
}
/**
* {@inheritDoc}
*/
public function setId($id): void
{
$this->__initializer__ && $this->__initializer__->__invoke($this, 'setId', [$id]);
parent::setId($id);
}
}