gyro/core/lib/interfaces/irenderdecorator.cls.php
Go to the documentation of this file.00001 <?php 00002 require_once dirname(__FILE__) . '/irenderer.cls.php'; 00003 00004 /** 00005 * Decorates the rendering process 00006 * 00007 * @author Gerd Riesselmann 00008 * @ingroup Interfaces 00009 */ 00010 interface IRenderDecorator { 00011 /** 00012 * Add a new decorator to end of decorator chain 00013 * 00014 * @param IRenderDecorator $decorator 00015 * @return void 00016 */ 00017 public function append($decorator); 00018 00019 /** 00020 * Return next renderer in chain 00021 * 00022 * @return IRenderDecorator 00023 */ 00024 public function get_next(); 00025 00026 /** 00027 * Initialize this decorator and the data passed 00028 * 00029 * @param PageData $page_data 00030 * @return void 00031 */ 00032 public function initialize($page_data); 00033 00034 /** 00035 * Render content 00036 * 00037 * @param PageData $page_data 00038 * @return void 00039 */ 00040 public function render_content($page_data); 00041 00042 /** 00043 * Render page 00044 * 00045 * @param PageData $page_data 00046 * @param IRenderDecorator Decorator to invoke render_content upon 00047 * @param int $policy If set to IView::DISPLAY, content is printed, if false it is returned only 00048 * @return mixed Success information 00049 */ 00050 public function render_page($page_data, $content_render_decorator, $policy = 0); 00051 } 00052