diff -r fc78844c8a76 -r 99ad73ef7385 vendor/bundles/Pagerfanta/View/OptionableView.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/bundles/Pagerfanta/View/OptionableView.php Fri Oct 21 17:10:54 2011 +0200 @@ -0,0 +1,59 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Pagerfanta\View; + +use Pagerfanta\PagerfantaInterface; + +/** + * OptionableView. + * + * This view renders another view with a default options to reuse them in a project. + * + * @author Pablo Díez + * + * @api + */ +class OptionableView implements ViewInterface +{ + private $view; + private $defaultOptions; + + /** + * Constructor. + * + * @param ViewInterface $view A view. + * @param array $options An array of default options (optional). + * + * @api + */ + public function __construct(ViewInterface $view, array $defaultOptions = array()) + { + $this->view = $view; + $this->defaultOptions = $defaultOptions; + } + + /** + * {@inheritdoc} + */ + public function render(PagerfantaInterface $pagerfanta, $routeGenerator, array $options = array()) + { + return $this->view->render($pagerfanta, $routeGenerator, array_merge($this->defaultOptions, $options)); + } + + /** + * {@inheritdoc} + */ + public function getName() + { + return 'optionable'; + } +}