/**
  * Build and return the renderer
  *
  * @param Tx_PtExtlist_Domain_Configuration_Renderer_RendererConfig $rendererConfiguration
  * @return Tx_PtExtlist_Domain_Renderer_ConfigurableRendererInterface
  */
 public function getRenderer(Tx_PtExtlist_Domain_Configuration_Renderer_RendererConfig $rendererConfiguration)
 {
     $rendererClassName = $rendererConfiguration->getRendererClassName();
     Tx_PtExtbase_Assertions_Assert::classExists($rendererClassName, array('message' => 'Configured renderer class ' . $rendererClassName . ' does not exist! 1286986512'));
     $renderer = $this->objectManager->get($rendererClassName);
     /* @var $renderer Tx_PtExtlist_Domain_Renderer_ConfigurableRendererInterface */
     Tx_PtExtbase_Assertions_Assert::isTrue(is_a($renderer, 'Tx_PtExtlist_Domain_Renderer_ConfigurableRendererInterface'), array('message' => 'Configured renderer class ' . $rendererClassName . ' does not implement Tx_PtExtlist_Domain_Renderer_RendererInterface 1286986513'));
     $renderer->_injectConfiguration($rendererConfiguration);
     $renderer->initRenderer();
     return $renderer;
 }
 /**
  * Construct the strategy.
  *
  * @param Tx_PtExtlist_Domain_Configuration_Renderer_RendererConfig $rendererConfiguration
  */
 public function __construct(Tx_PtExtlist_Domain_Configuration_Renderer_RendererConfig $rendererConfiguration)
 {
     $this->rendererConfiguration = $rendererConfiguration;
     $this->configurationBuilder = $rendererConfiguration->getConfigurationBuilder();
     #$this->renderSpecialCellUserFunc = $this->rendererConfiguration->getSpecialCell();
 }
 /**
  * @return Tx_PtExtlist_Domain_Configuration_Columns_ColumnConfigCollection
  */
 protected function getColumnConfigurationCollection()
 {
     return $this->rendererConfiguration->getConfigurationBuilder()->buildColumnsConfiguration();
 }