<?php

/**
 * Clase que implementa la carga de datos en cascada. Esta clase no implementa la logica de carga, 
 * dice que funciones y en que orden se llaman a las funciones de carga del PersistentManager.
 * 
 * Created on 29/03/2008
 * Modified on 30/05/2008
 * 
 * @name core.persistent.CascadeLoadStrategy.class.php
 * @author Pablo Pazos Gutierrez <*****@*****.**>
 * @version v0.9.0
 * @package core.persistent
 * 
 */
YuppLoader::loadInterface("core.persistent", "POLoader");
class CascadeLoadStrategy implements POLoader
{
    private $manager;
    // PersistentManager
    /**
     * Se le setea el manager que tiene definidas las funciones necesarias para cargar objetos.
     * Se puede ver esto como una instancia del patron IOC.
     * @param PersistentManager $manager
     */
    public function setManager($manager)
    {
        $this->manager = $manager;
    }
    /**
     * Carga las intancias asociadas correspondientes al atributo hasMany $attr del objeto $obj ya dentro del objeto.