2015-08-17 17:00:26 -07:00
< ? php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* " AS IS " AND ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT
* LIMITED TO , THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT , INDIRECT , INCIDENTAL ,
* SPECIAL , EXEMPLARY , OR CONSEQUENTIAL DAMAGES ( INCLUDING , BUT NOT
* LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE ,
* DATA , OR PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT
* ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license . For more information , see
* < http :// www . doctrine - project . org >.
*/
namespace Doctrine\Common\Proxy ;
use Closure ;
2015-10-08 11:40:12 -07:00
use Doctrine\Common\Persistence\Proxy as BaseProxy ;
2015-08-17 17:00:26 -07:00
/**
* Interface for proxy classes .
*
* @ author Roman Borschel < roman @ code - factory . org >
* @ author Marco Pivetta < ocramius @ gmail . com >
* @ since 2.4
*/
interface Proxy extends BaseProxy
{
/**
* Marks the proxy as initialized or not .
*
* @ param boolean $initialized
*
* @ return void
*/
public function __setInitialized ( $initialized );
/**
* Sets the initializer callback to be used when initializing the proxy . That
* initializer should accept 3 parameters : $proxy , $method and $params . Those
* are respectively the proxy object that is being initialized , the method name
* that triggered initialization and the parameters passed to that method .
*
* @ param Closure | null $initializer
*
* @ return void
*/
public function __setInitializer ( Closure $initializer = null );
/**
* Retrieves the initializer callback used to initialize the proxy .
*
* @ see __setInitializer
*
* @ return Closure | null
*/
public function __getInitializer ();
/**
* Sets the callback to be used when cloning the proxy . That initializer should accept
* a single parameter , which is the cloned proxy instance itself .
*
* @ param Closure | null $cloner
*
* @ return void
*/
public function __setCloner ( Closure $cloner = null );
/**
* Retrieves the callback to be used when cloning the proxy .
*
* @ see __setCloner
*
* @ return Closure | null
*/
public function __getCloner ();
/**
* Retrieves the list of lazy loaded properties for a given proxy
*
* @ return array Keys are the property names , and values are the default values
* for those properties .
*/
public function __getLazyProperties ();
}