Chris@0: . Chris@0: */ Chris@0: Chris@0: namespace Doctrine\Common\Proxy; Chris@0: Chris@0: use Closure; Chris@0: use Doctrine\Common\Persistence\Proxy as BaseProxy; Chris@0: Chris@0: /** Chris@0: * Interface for proxy classes. Chris@0: * Chris@0: * @author Roman Borschel Chris@0: * @author Marco Pivetta Chris@0: * @since 2.4 Chris@0: */ Chris@0: interface Proxy extends BaseProxy Chris@0: { Chris@0: /** Chris@0: * Marks the proxy as initialized or not. Chris@0: * Chris@0: * @param boolean $initialized Chris@0: * Chris@0: * @return void Chris@0: */ Chris@0: public function __setInitialized($initialized); Chris@0: Chris@0: /** Chris@0: * Sets the initializer callback to be used when initializing the proxy. That Chris@0: * initializer should accept 3 parameters: $proxy, $method and $params. Those Chris@0: * are respectively the proxy object that is being initialized, the method name Chris@0: * that triggered initialization and the parameters passed to that method. Chris@0: * Chris@0: * @param Closure|null $initializer Chris@0: * Chris@0: * @return void Chris@0: */ Chris@0: public function __setInitializer(Closure $initializer = null); Chris@0: Chris@0: /** Chris@0: * Retrieves the initializer callback used to initialize the proxy. Chris@0: * Chris@0: * @see __setInitializer Chris@0: * Chris@0: * @return Closure|null Chris@0: */ Chris@0: public function __getInitializer(); Chris@0: Chris@0: /** Chris@0: * Sets the callback to be used when cloning the proxy. That initializer should accept Chris@0: * a single parameter, which is the cloned proxy instance itself. Chris@0: * Chris@0: * @param Closure|null $cloner Chris@0: * Chris@0: * @return void Chris@0: */ Chris@0: public function __setCloner(Closure $cloner = null); Chris@0: Chris@0: /** Chris@0: * Retrieves the callback to be used when cloning the proxy. Chris@0: * Chris@0: * @see __setCloner Chris@0: * Chris@0: * @return Closure|null Chris@0: */ Chris@0: public function __getCloner(); Chris@0: Chris@0: /** Chris@0: * Retrieves the list of lazy loaded properties for a given proxy Chris@0: * Chris@0: * @return array Keys are the property names, and values are the default values Chris@0: * for those properties. Chris@0: */ Chris@0: public function __getLazyProperties(); Chris@0: }